在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

Java 7 需要类型推断吗?

  • 2007-04-19
  • 本文字数:634 字

    阅读完需:约 2 分钟

请点击此链接查看英文原文

连续几周以来,Java 社区一直为是否向 Java 7 加入类型推断(Type Inference)的概念争论得热火朝天,Remi Forax 撰写了一篇博客文章详细阐述对两个很有人气的提议的 javac 补丁。其中一个提议来自 James Gosling,称为“Algol”,使用:=的语法来标识声明:

s := "String";

另一个提议来自 Peter Ahe 和 Christian Hansen,使用final关键字:

final s = "String";

两种提议都存在副作用,都会使局部变量变成 final。有不少开发人员对这个特性持反对意见

在某些语言中,类型推断确实存在意义,比如 JavaScript 和 PHP 就是围绕着它构建的,它们自打诞生第一天就具备这个特性 了。但是,它对于 Java 这样围绕着其相反方式构建的语言而言,毫无意义。看起来它好像让 Java 类型变得弱化了,但事实上并非如此。实际上,如果有什么 不同的话,那就是它会使得 Java 变得更加强类型,因为比如说你必须指名一个 Map 变量的类型为 HashMap 或者 TreeMap,而仅仅是 Map……该 是时候停止往 Java 语言内加入新特性了。我不是说这些特性不对,而只是说它们不适合这门语言。Java 语言早就浮肿不堪了。我不是说泛型 (Generics)、类型推断、闭包(Closures)、编译器创建的工厂方法和其它 Kitchen Sink 提案搞糟透顶,它们不是那样的。我只是说它们仅仅不适合或者符合目前的核心语言,我们每加进一个,语言就变得更糟,而不是更好。

讨论引出这样的一个问题:到底 Java 7 应当让 Java 语言保持原样,还是应当另外加入一些语言构造,比如类型推断和闭包呢?

2007-04-19 11:001277
用户头像

发布了 117 篇内容, 共 21.3 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

为什么 HashMap 会死循环?

javacn.site

开源模式新探索!卡奥斯工业互联网开源开放社区再升级

Openlab_cosmoplat

开源 工业互联网 天工开物

Java开发分析用什么软件好?

真大的脸盆

Mac JAVA开发 Mac 软件 Java开发分析工具

人工智能将如何改变敏捷项目管理?

敏捷开发

人工智能 项目管理 AI 敏捷开发 Scrum Master

DDD在前端应用中的一些思考

阿里技术

前端 DDD

C/C++项目构建指南:如何使用Makefile提高开发效率

小万哥

c++ 程序员 面试 后端 开发

SpringWeb服务构建轻量级Web技术体系:SpringHATEOAS

Java你猿哥

Java spring RESTful Web ssm

TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案

vivo互联网技术

TLS 加速 Intel QAT

软件测试 | FTP性能测试脚本开发(1)

测吧(北京)科技有限公司

测试

百万级数据导出优化方案

使用 PAI-Blade 优化 Stable Diffusion 推理流程

阿里云大数据AI技术

人工智能 推理 Stable Diffusion 企业号 5 月 PK 榜

如何使用Go实现原型设计模式

Jack

golang 设计模式 架构设计 golang 面试

JavaScript作用域深度剖析:动态作用域

Immerse

记一次redis主从切换导致的数据丢失与陷入只读状态故障

Java你猿哥

redis sentinel ssm 高可用架构

软件测试 | FTP性能测试脚本开发(2)

测吧(北京)科技有限公司

测试

2023年Java学习步骤及路线(超详细)

Java你猿哥

Java 微服务 Spring Boot JVM java面试

文档图像智能分析与处理:CCIG技术论坛的思考与展望

海拥(haiyong.site)

大模型 文档图像智能处理 OCR技术

AIGC产业研究报告2023——分子发现与电路设计篇

易观分析

产业 AIGC

逆流而上!整合阿里高频考点2023Java岗面试突击指南手册首次亮相

Java你猿哥

Java MySQL redis ssm java面试

绕不过的并发编程——synchronized原理

Java你猿哥

Java 并发编程 ssm synchronized

2023-05-22:给定一个长度为 n 的字符串 s ,其中 s[i] 是: D 意味着减少; I 意味着增加。 有效排列 是对有 n + 1 个在 [0, n] 范围内的整数的一个排列 perm

福大大架构师每日一题

Go 算法 rust 福大大

面试官:你能和我说一下 CMS 垃圾回收器吗?

Java你猿哥

Java 算法 CMS 垃圾回收器 垃圾收集器

单机 T 级流量转发吞吐提升 5 倍,可编程负载均衡网关 1.0 上线

百度Geek说

云计算 负载均衡 企业号 5 月 PK 榜

救命稻草!阿里P8耗时5月打造的架构师速成手册,千金难求

Java你猿哥

程序员 ssm 软件架构 架构设计 架构师

iOS MachineLearning 系列(17)—— 几个常用的对象识别 CoreML 模型

珲少

LDAP性能测试脚本开发

测吧(北京)科技有限公司

测试

上海国家会计学院刘梅玲:事项法会计可以有力地促进业财融合

用友BIP

业财融合 事项法会计

Java性能优化实践与策略

xfgg

Java 优化 规范

Java 7需要类型推断吗?_Java_Scott Delap_InfoQ精选文章