写点什么

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

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

关注

评论

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

得物供应链复杂业务实时数仓建设之路

得物技术

数据库 大数据 技术架构

社招中级前端笔试面试题总结

Geek_02d948

JavaScript 前端

索信达宣布接入百度文心一言能力 加速推进AI在金融场景落地应用

索信达控股

2023前端vue面试题(边面边更)

yyds2026

Vue 前端

vue实战-深入响应式数据原理

yyds2026

Vue 前端

极客时间运维进阶训练营第八周作业

忙着长大#

有哪些前端面试题是面试官必考的

coder2028

JavaScript 前端

前端一面react面试题指南

xiaofeng

前端 React

党政军IM私有化搭建,WorkPlus构建军工行业即时通讯安全底座

BeeWorks

Zabbix 官方推荐的标签使用准则

北海

运维 zabbix 标签 IT运维 tag

融云「百幄」系列产品,两组套件、三类价值赋能政企八大业务场景

融云 RongCloud

产品 办公 百幄

即刻下载|连锁零售数字化转型难?领先企业实践助你打开新思路

Kyligence

大数据分析 指标中台

企业IM即时通讯软件:就选安全稳定、自主可控的WorkPlus

BeeWorks

面向复杂业务场景下的低代码平台组件设计与实践分享

百度开发者中心

低代码平台 amis

美团前端经典vue面试题总结

yyds2026

Vue 前端

从0到1,亿级消息推送的稳定性保障 | 得物技术

得物技术

稳定性 消息推送

webpack高级配置

Geek_02d948

JavaScript 前端

美团前端常考面试题(必备)

Geek_02d948

JavaScript 前端

一文读懂NodeJs知识体系和原理浅析

coder2028

京东物流实时风控实践

Apache Flink

大数据 flink 实时计算

致远互联2022年度净利9946.37万,研发投入增加;从人出发,人即流程、人即绩效

B Impact

vue实战-完全掌握Vue自定义指令

yyds2026

Vue 前端

信息安全“狂飙”不止,WorkPlus为政企数字化保驾护航

BeeWorks

OpenCloudOS 如何利用 nettrace 进行网络故障诊断

OpenCloudOS

Linux

IDM下载器软件2024中文版

茶色酒

idm下载

FL Studio推出全新21中文版水果工具

茶色酒

FL Studio 21

前端监控稳定性数据分析实践 | 得物技术

得物技术

前端 前端监控 客服业务

webpack配置完全指南

Geek_02d948

JavaScript 前端

设备端资源包文件(人脸库,音频库,图片资源等)更新方案——实践类

阿里云AIoT

阿里云 物联网 IoT 对象存储

更专业的出海服务商,融云荣膺 GTC2022 鲸鸣奖「优秀出海服务商」

融云 RongCloud

出海

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