写点什么

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:001056
用户头像

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

关注

评论

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

第六周作业总结

hunk

极客大学架构师训练营

CAP原理

皮蛋

CAP CAP原理

架构师训练营第2期 第六周课后练习

月下独酌

极客大学架构师训练营

CAP原理

幸福小子

分布式 CAP原理

Week_10 总结

golangboy

极客大学架构师训练营

架构师训练营第六周作业

xiaomao

架构第十周总结

Geek_Gu

极客大学架构师训练营

第十周学习总结

熊桂平

极客大学架构师训练营

CAP 原理简述

jorden wang

【架构师训练营 1 期】第十周作业

诺乐

git 在未保存,add,commit,push下撤销的方法?收藏后再也不用找了

小松漫步

目标检测之WBF(Weighted Boxes Fusion)

Dreamer

目标检测

架构师训练营2期 第六周总结

月下独酌

极客大学架构师训练营

架构师训练营 - week10 - 作业

lucian

极客大学架构师训练营

架构第十周作业

Geek_Gu

极客大学架构师训练营

第十周 模块分解总结

蓝黑

极客大学架构师训练营

面试被问Mybatis底层实现:你连这个知识点都说不明白?

小Q

Java 编程 程序员 架构 mybatis

第 6 周作业

Steven

极客大学架构师训练营

9 性能优化(三)课后练习

ABS

学习总结之分布式数据库

幸福小子

模块分解

wing

极客大学架构师训练营

10 模块分解课后练习

ABS

第10周作业

paul

week6 技术选型(二) 作业和学习总结

杨斌

架构师训练营第 10 周课后练习

叶纪想

极客大学架构师训练营

与前端训练营的日子 --Week05

SamGo

学习

架构师训练营第六周总结:

xiaomao

【架构师训练营 1 期】第十周学习总结

诺乐

第十周作业

solike

架构师训练营第十一周作业

Geek_4c1353

极客大学架构师训练营

第十周学习总结

solike

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