报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

成功只有一种-OBKoro1的2021年终总结

OBKoro1

前端 年终总结

Spring Boot 2 教程:WebFlux 中 WebSocket 实现通信(九)

程序员泥瓦匠

Serverless架构下Tensorflow与目标检测系统

刘宇

tensorflow Serverless 目标检测 Serverless Devs

Spring Boot 2 教程:WebFlux 系列教程大纲(一)

程序员泥瓦匠

Spring Boot WebFlux

Vue中slot插槽的使用方法

Changing Lin

12月日更

让发布更安全的:线上异动感知

刘宇

云计算 Serverless 云原生 Serverless Devs

Spring Boot 2 教程:WebFlux 整合 Mongodb(四)

程序员泥瓦匠

Spring Boot WebFlux

Spring Boot 2 教程:WebFlux 整合 Redis(七)

程序员泥瓦匠

Spring Boot 2 教程:WebFlux 集成测试及部署(十)

程序员泥瓦匠

重磅来袭|第一届 OpenSEC 征文活动正式开启

SphereEx

开源社区 技术分享 ShardingSphere SphereEx OpenSEC

阿里云函数计算(FC)组件简介

刘宇

云计算 Serverless 云原生 函数计算 Serverless Devs

Spring Boot 2 教程:WebFlux Restful CRUD 实践(三)

程序员泥瓦匠

Spring Boot WebFlux

Serverless架构下PaddleOCR项目开发与部署

刘宇

人工智能 paddle Serverless Serverless Devs

模型升级在 Serverless 架构下的实现与应用

刘宇

人工智能 Serverless PyTorch Serverless Devs

Linux一学就会:shell脚本基础

侠盗安全

Linux linux运维 运维工程师 云计算架构师

Spring Boot 2 教程:WebFlux 中 Redis 实现缓存(八)

程序员泥瓦匠

从工具看函数资源评估

刘宇

Serverless 函数计算 Serverless Devs

Java常用的五大算法详解

编程江湖

算法 java编程

Spring Boot 2 教程:WebFlux 快速入门实践(二)

程序员泥瓦匠

Spring Boot WebFlux

Spring Boot 2 教程:WebFlux 集成 Thymeleaf(五)

程序员泥瓦匠

Serverless Devs 简介

刘宇

Serverless 函数计算 Serverless Devs

Serverless Devs 新手引导

刘宇

云计算 Serverless 云原生 Serverless Devs 新手引导

Linux之rm命令

入门小站

Linux

6 款开源 Web 性能优化辅助工具推荐

编程江湖

前端

前端开发React使用中常用的开发框架

@零度

前端 React

多种操作模式下的工具体系

刘宇

Serverless Serverless Devs

Spring Boot 2 WebFlux 系列教程分享| 内容合集

程序员泥瓦匠

内容合集 签约计划第二季

通过 Serverless Devs 部署静态网站

刘宇

云计算 Serverless cicd Serverless Devs

Spring Boot 2 教程:WebFlux 集成 Thymeleaf 、 Mongodb 实践(六)

程序员泥瓦匠

Serverless Desktop 上手

刘宇

Serverless Serverless Devs

Serverless Devs 与 CI/CD 平台/工具集成

刘宇

Serverless cicd Serverless Devs

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