2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

ChatGPT介绍与使用场景

楚少AI

openai ChatGPT ChatGPT4

文心一言 VS 讯飞星火 VS chatgpt (29)-- 算法导论5.2 1题

福大大架构师每日一题

ChatGPT 文心一言

JavaScript深度剖析之变量、函数提升:从表面到本质

沉浸式趣谈

推进开源法律知识普及|2023开放原子全球开源峰会开源法律与合规分论坛即将启幕

开放原子开源基金会

开源 法律与合规

Nautilus Chain:我们将支持EIP6969

BlockChain先知

2023-06-02:给定一个二进制数组 nums 和一个整数 k, k位翻转 就是从 nums 中选择一个长度为 k 的 子数组, 同时把子数组中的每一个 0 都改成 1 ,把子数组中的每一个 1

福大大架构师每日一题

golang 算法 rust 福大大

C语言编程-共用体

芯动大师

6 月 优质更文活动

Generative AI 新世界 | 大型语言模型(LLMs)概述

亚马逊云科技 (Amazon Web Services)

机器学习 tensorflow 开源 PyTorch Amazon SageMaker

深度学习入门系列(一):一文看懂 MNIST

U2647

神经网络 机器学习 深度学习 keras

【Python金融-001】如何快速计算股票的收益?1行代码,高效做T

程序员晚枫

Python 金融 股票

以后我准备告别String.format()了,因为它不够香!

Java你猿哥

Java 编程 string 格式化 format

真香!阿里最新产出分布式进阶实战手册,涵盖分布式架构所有操作

Java你猿哥

Java 架构 Spring Cloud Spring Boot ssm

技术分享 | 如何编写同时兼容 Vue2 和 Vue3 的代码?

LigaAI

JavaScript vue.js Vue 前端 企业号 6 月 PK 榜

Django笔记四十一之Django中使用es

Hunter熊

Python django elasticsearch

以技术实践赋能开源安全|2023开放原子全球开源峰会开源安全技术与实践分论坛即将启幕

开放原子开源基金会

开源 开源软件供应链 开源安全技术

Nautilus Chain:我们将支持EIP6969

股市老人

北美 2023 被裁员的感悟

HoneyMoose

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

Java你猿哥

分布式 微服务 微服务架构 Spring Cloud ssm

原来user.dir竟然会影响classpath的值

Java你猿哥

Java tomcat classpath ssm

专业笔记工具:Keep It 激活版

真大的脸盆

Mac Mac 软件 笔记工具

为什么说 Go 语言字符串是不可变的?

AlwaysBeta

Go 源码 面试 字符串

ChatGPT App苹果版下载

楚少AI

ChatGPT ChatGPT4 chatgpt app

ChatGpt账号注册

楚少AI

ChatGPT chatgpt注册

Spring Boot 开发离不开这些注解,快来学习啦!

Java你猿哥

spring Spring Boot ssm spring aop java框架

简化Mybatis分页操作,让我们来聊聊 PageHelper 及实现原理

Java你猿哥

Java mybatis ssm PageHelper

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