写点什么

Project Coin 发布语言变化最终列表

  • 2009-09-08
  • 本文字数:1010 字

    阅读完需:约 3 分钟

近日 Joseph Darcy 发布了 Project Coin 的最终列表,宣布了即将发布的 JDK 7 中对 Java 语言所做的改进。这些改进是:

  1. 自动化的资源管理。提供一种处理资源回收的机制:类似于 C# using 声明的 ARM(Automatic Resource Management)块,但形式上却是基于 try 声明。这样,using 声明只能处理单一资源,而 ARM 却能在块的范围内处理多种资源。
  2. 更好的整型字面值。为数字增加二进制字面值以及下划线分隔符支持以增加可读性,例如:
    long creditCardNumber = 1234_5678_9012_3456L
    如果能及时找到解决方案还会提供对无符号字面值处理方式的改进。
  3. 集合字面值。通过类似于数组初始化器的语法为不变的list、set 以及map 字面值提供支持,同时还会为 list 与 map 的索引访问提供支持。
  4. 改进的用于泛型实例创建的类型推断。使用有限的类型推断进行类实例创建需要为构造方法显式声明参数化类型,然而这些类型却可以从上下文中推断出来,然后它们就会被一个空的类型参数集合替换掉。这样,相对于:
    Map<String, List> anagrams = new HashMap<String, List>();
    我们可以这样写:
    Map<String, List> anagrams = new HashMap<>();
  5. 对 JSR 292 的语言支持。包括 invokeDynamic 指令、方法句柄调用、某些不严格的约定以及外来的标识符。
  6. 简化的可变参数方法调用。当方法将可变参数与非具化的数组类型组合在一起时就会产生警告,现在将该警告由调用处转移到了方法声明处。
  7. 可以在 switch 语句中使用 String

以上大部分提案都将于今年 10 月底反映到 JDK 7 的 Mercurial 仓库中。

还有三个提案尚未最终发布,它们是:改进的Java 异常处理 Elvis 与其他 Null-Safe 操作符以及大数组
Joseph Darcy说到

“对于 Java 语言来说,改进的异常处理很值得我们期待,然而它对于类型系统来说是个风险,我们尚未评估是否有足够的资源以在 JDK 7 中实现该特性。我倒是期望能在未来重新考虑该特性以促进语言的不断发展。虽然 Elvis 与其他相关的操作符在 Groovy 中很有用,但由于 Groovy 与 Java 的差别,比如原生类型的存在以及与装箱 / 拆箱的交互使得这些操作符对 Java 意义不大了。JDK 7 将提供其他方式来简化空操作(null-handling)的烦恼,如 JSR 308 的空检查。毫无疑问,天生支持 32 位以上条目的集合一直是大家所梦寐以求的。对集合的语言支持会开发一个程序库来实现这一点,这样平台就可以直接处理大的数据结构了。”

查看英文原文: Project Coin Announces Final List of Small Language Changes

2009-09-08 01:231838
用户头像

发布了 88 篇内容, 共 272.4 次阅读, 收获喜欢 9 次。

关注

评论

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

基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路

Apache Flink

flink oceanbase 实时数据

什么是运算符

测吧(北京)科技有限公司

测试

线程池核心原理浅析

不在线第一只蜗牛

线程 核心原理

云桌面跟桌面虚拟化有什么区别?如何选择

青椒云云电脑

云桌面 云电脑 云电脑平台

iPaaS中API自动化测试的作用

谷云科技RestCloud

自动化测试 API ipaas

探究字符串操作的各种类别

测吧(北京)科技有限公司

测试

元组与列表:相同点、不同点及内存占用

测吧(北京)科技有限公司

测试

Pandas read_csv 参数详解

霍格沃兹测试开发学社

Puppeteer实践:复杂的问题简单化

伤感汤姆布利柏

深入了解条件判断、状态标记和假值状态

测吧(北京)科技有限公司

测试

如何在MySQL 中更改数据的前几位数字?

霍格沃兹测试开发学社

免费云电脑能做什么?

青椒云云电脑

云桌面 云电脑

深入理解计数器函数:闭包与装饰器

测吧(北京)科技有限公司

测试

企业如何训练自己的专属大模型?

幂简集成

AI API 大模型

掌握Python中的系统监控与管理:使用psutil库

霍格沃兹测试开发学社

深入理解 FFmpeg:安装和使用指南

霍格沃兹测试开发学社

在线云电脑云桌面如何操作使用

青椒云云电脑

云桌面 云电脑 云电脑云桌面

了解元组:定义、特点、应用及常用方法

测吧(北京)科技有限公司

测试

KaiwuDB 参编的《分析型数据库技术要求》标准正式发布

KaiwuDB

数据库 分析型数据库 数据库行业标准制定 数据库标准

云桌面的应用场景,如何助力企业轻松上云

青椒云云电脑

云桌面 云电脑 云电脑平台

2024春季火山引擎FORCE原动力大会,5月15日开幕

新消费日报

建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力

袋鼠云数栈

数据资产 医疗 医疗AI 医疗中台 数据服务

为什么公共云的弹性能力很难被发挥出来?

AutoMQ

Java 大数据 云原生 AutoMQ

解锁工业数据流:NeuronEX 规则调试功能实操指南

EMQ映云科技

emq emqx NeuronEX

重磅更新:草料二维码容量调整,不再限制图片文件上传量

草料二维码

神器!使用Python 轻松识别验证码

霍格沃兹测试开发学社

Python数据可视化神器——pyecharts教程(一)

霍格沃兹测试开发学社

深入理解逻辑运算符及其短路特性

测吧(北京)科技有限公司

测试

Bonree ONE 2024春季正式版:革新智能运维,7 大功能亮点重磅发布

博睿数据

关于零信任理念, 零信任的重点是什么

德迅云安全杨德俊

Project Coin发布语言变化最终列表_Java_Charles Humble_InfoQ精选文章