速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

void 0 有什么意义?undefined竟然是可变的?

南极一块修炼千年的大冰块

7月月更

同城订单同城送,爆单依旧得心应手!

CRMEB

想要制作沙盒游戏?那么这一款插件你一定不能错过(Unity3D)

恬静的小魔龙

Unity

运行时,物体移动旋转缩放插件,“RuntimeTransformGizmos插件”使用教程(Unity3D)

恬静的小魔龙

游戏开发 Unity 插件 虚拟仿真 游戏引擎

2022年中国第三方支付市场专题分析

易观分析

第三方支付

饿了么为啥给你推荐这个?本地生活搜索算法解密

阿里技术

算法 性能提升

IP地址分类及范围

郑州埃文科技

IP地址 IP地址分类 IP地址范围

还在用Unity开发游戏?那你就out了,试试用Unity做一个答题系统吧

恬静的小魔龙

Unity

开发动态 | StoneDB 2022年版本发布里程碑

StoneDB

云原生 #数据库 大数据 开源 #开源

浅谈负载

Damon

7月月更

易观分析《2022年中国数据安全市场数据监测报告》正式启动

易观分析

技术

还在用 ListView?使用 AnimatedList 让列表元素动起来

岛上码农

flutter ios 安卓开发 跨平台开发 7月月更

wallys/new product/DR7915/MT7915+MT7975/WiFi6 MiniPCIe Module 2T2R

wallys-wifi6

还在被电影中吧爆炸的画面震撼?那你一定不要错过这款Unity的爆炸插件

恬静的小魔龙

Unity

tsconfig.json在配置文件中找不到任何输入,怎么办?

华为云开发者联盟

JavaScript 前端

Tapdata 与优炫数据库完成产品兼容性互认证

tapdata

数据库 Tapdata 实时数据 交互式 优炫数据库

活动报名:如何零基础快速上手开源的 Tapdata Live Data Platform?

tapdata

开源 开源社区 Tapdata 实时数据

用Unity做仿真,这款图表插件我不允许你不知道

恬静的小魔龙

Unity

Spirng之Annotation注解与AOP使用

echoes

26岁从计算机视觉界“黄埔军校”博士毕业,他想为车打造一双慧眼

华为云开发者联盟

人工智能 计算机视觉 天才少年 激光感知

跟我读论文丨Multi-Model Text Recognition Network

华为云开发者联盟

人工智能 文字识别 语言模型 视觉特征

2022年中国人工智能产业生态图谱

易观分析

人工智能

你离「TDengine 开发者大会」只差一条 SQL 语句!

TDengine

tdengine 开源 时序数据库

算法题每日一练---第4天:图像模糊问题

知心宝贝

算法 前端 后端 7月月更

同构+跨端,懂得小程序+kbone+小程序容器就够了!

Geek_99967b

小程序容器

极客星球丨字节跳动一站式数据治理解决方案及平台架构

MobTech袤博科技

架构 运维 数据治理 全链路

深入理解完美哈希

C++后台开发

hash 后端开发 C++后台开发 哈希函数 C++开发

EMQ映云科技荣登《中国企业家》2022年度“新锐100”榜单

EMQ映云科技

开源 物联网 IoT emq 7月月更

带你认识8个软件设计中的谬误

华为云开发者联盟

后端 分层架构 开发

个人实战经验:数据建模 “账户数据是属于维度还是账户域 ”

松子(李博源)

数据仓库 数据建模 数据中台场景实践

智能运维场景解析:如何通过异常检测发现业务系统状态异常

云智慧AIOps社区

人工智能 机器学习 异常检测 智能运维 状态管理

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