【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

一文搞定 Flutter 底部弹窗实现

岛上码农

flutter 跨平台 ios开发 Android开发 3月月更

公有云RDS太贵?基于ECS构建的多云RDS服务可降低近半成本

沃趣科技

数据库 公有云 RDS 云数据库RDS for MySQL 云数据库Redis

你了解部署流水线吗?

华为云开发者联盟

自动化 软件开发 devcloud 部署流水线 流水线

春招进行时!当代大学生求职行为大赏

易观分析

求职 招聘 春招

☕️从Java8到Java17的新特性(一):Java8 的新特性

看山

Java java8

WebAssembly技术_JS调用C函数示例_传递参数、方法导出

DS小龙哥

webassembly 3月月更

Rust的Cow类型

Shine

rust cow

云效DevOps全家桶评测征集令重磅来袭!免费使用云效全套功能

阿里云云效

云计算 阿里云 DevOps 云原生

DPU芯片头部企业云豹智能加入龙蜥社区,共同推动新一代数据中心基础设施蓬勃发展

OpenAnolis小助手

云计算 开源 芯片 龙蜥社区

RocketMQ的tag还有这个“坑”!

中间件兴趣圈

RocketMQ tag 消息过滤

最好的 6 个 React Table 组件详细亲测推荐

蒋川

React

如何消除代码山中那一大坨参数列表

华为云开发者联盟

代码 软件设计 参数 全局变量 参数列表

Redis集群架构剖析(3):集群处理redis-cli指令

非晓为骁

redis 架构 分布式 redis cluster

聊聊 C 语言和 ABAP 这两门编程语言的关系

Jerry Wang

c++ 编程语言 C语言 abap 3月月更

presto是如何保证作业内存不会发生冲突和溢出

华为云开发者联盟

内存 presto 内存计算引擎 System Pool general Pool

《软件开发的201个原则》思考:4. 高质量软件是可以实现的

非晓为骁

个人成长 软件工程 软件开发

Redis:在windows环境安装Redis

喀拉峻

redis

深入浅出 Vue3 核心知识点

百瓶技术

Vue 前端 VUE 3.0 源码 vue3.0

小程序电商微服务设计

唐尤华

架构实战营

如何在新公司快速落地

Hockor

HertzBeat赫兹节拍 v1.0.beta.6 发布,Linux监控来啦

TanCloud探云

开源 APM 监控 告警

Jetpack Compose之 在Compose中使用Navigation导航

黄林晴

android Compose JetPack

java培训Redis高频面试考点

@零度

Java redis

玩转OpenMLDB社区,四张角色卡待解锁

第四范式开发者社区

人工智能 数据库 开源 贡献者 特征平台

5G 和 Wi-Fi 市场与技术的一些思考系列之二

李伟-晨泳

昇腾CANN论文上榜CVPR,全景图像生成算法交互性再增强!

华为云开发者联盟

CVPR CANN 图像生成 昇腾AI处理器 图像布局

大数据培训十大Hive调优技巧

@零度

大数据 hive调优

IOS技术分享| ARCallPlus 开源项目(一)

anyRTC开发者

ios 移动开发 语音通话 视频通话 呼叫邀请

FAQ(常见问题)页面的编写技巧

小炮

企业 常见问题 客户服务

焕然一新的 Vue 3 中文文档来了

CRMEB

使用APICloud AVM多端框架开发仿微信通讯录功能

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 多端开发 avm.js

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