写点什么

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

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

关注

评论

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

鲲鹏说:高考之路你们走,高考阅卷我来守

脑极体

Scala中如何优雅地实现break操作

吴慧民

scala

聊聊Spring的IOC以及JVM的类加载

小隐乐乐

kubernetes集群安装(二进制)

小小文

Kubernetes 容器

信创舆情一线--5省发布区块链发展计划

统小信uos

区块链 舆情

JVM中栈的frames详解

程序那些事

JVM 堆栈 性能调优 JIT GC

为了把握新基建风口,科技公司都在紧密筹备这件事...

极客时间企业版

如何通过DDD构建一辆汽车

冯文辉

领域驱动设计 DDD

golang内存对齐

PONPON

go内存对齐 Go 语言

数据分析师成长体系漫谈-数仓模型设计

analysis-lion

学习 数据仓库 数据分析 随笔杂谈

redis系列之——分布式锁

诸葛小猿

Java redis 分布式 分布式锁

如何学习Visual Studio Code

博文视点Broadview

学习 读书笔记 vscode 能力提升 编辑器

华为云FusionInsight MRS通过信通院大数据能力评估 单集群突破2万+规模

数据湖洞见

大数据 FusionInsight MRS 华为云

Hadoop大数据存算分离下,如何解决新旧存储共存?

XSKY星辰天合

Struct embedding in Go

Interstate5

time.Time dynamodb apigateway Go 语言

技术选型课程小结

梅子黄时雨

极客大学架构师训练营

依旧乐观的李彦宏,十年寻光的百度AI

脑极体

typora设置图片自动上传,实现快速发文章

诸葛小猿

Typora PicGo gitee 上传图片

统一物品编码破解追溯“断链”困局

CECBC

架构师训练营第六周总结

Melo

极客大学架构师训练营

数据库分片

Axe

啃碎并发(七):深入分析Synchronized原理

猿灯塔

Java

架构师训练营-作业5

紫极

这样的二维码,你见过吗?

诸葛小猿

Java Python 后端 二维码 myqr

ArrayList源码阅读

慌张而黑糖

ArrayList 源码阅读

人生就是体会矛盾的过程

封不羁

成长 感悟

毕业三年了,我开始明白为什么说三年是一个坎

鄙人薛某

程序员 程序人生 职场回顾

开发者必备——API设计问题

Noneplus

分布式缓存与消息队列

紫极

Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车

newbe36524

Docker Reactive ASP.NET Core

阿里四面你都知道吗?

root

Java 程序员 互联网 阿里 简历

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