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

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

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

关注

评论

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

与德勤论道企业数字化战略到落地

大咖说

云计算 数字化转型 数字化 企业上云 阿里云;

设计模式【3.2】-- JDK动态代理源码分析有多香?

秦怀杂货店

源码分析 动态代理

10道阿里Android岗必问题摆这儿了,你爱刷不刷!(附参考回答解析

android 程序员 移动开发

架构实战营-模块三

瓜子葫芦侠

「架构实战营」

2018届android校招面试总结:百度,大疆,乐视

android 程序员 移动开发

2019寒冬之下,作为一个android码农,是如何进入腾讯的?

android 程序员 移动开发

2019已经很冷,2020年Android工作或更难找——进大厂面试必备基础技能

android 程序员 移动开发

2019年百度Android面试题-公共技术点之-View-绘制流程

android 程序员 移动开发

思科基本网络连接与IOS的基本操作 「网络工程师之路」

Regan Yue

网络工程师 11月日更 思科 网络工程

2019中级Android开发面试解答之线程篇

android 程序员 移动开发

前端开发中使用纯函数提纯非纯函数

devpoint

JavaScript 纯函数 11月日更

thanos-io/thanos-CONTRIBUTING.md

卓丁

Prometheus Thanos thanos.io Contributing github Contributing

rabbitmq简介

小鲍侃java

11月日更

dart系列之:dart语言中的变量

程序那些事

flutter dart 程序那些事 11月日更

反垄断专家如何看待区块链监管的发展方向

CECBC

12月面试ing-本以为学了个好找工作的Android开发,没想到又是坑---

android 程序员 移动开发

攻击SSRF漏洞之Redis利用

喀拉峻

redis 网络安全 安全 信息安全 漏洞

eBPF: 让云原生运维拥有超能力

俞凡

云原生 网络 ebpf

06 K8S之kubectl命令介绍

穿过生命散发芬芳

k8s 11月日更

15年手持4个大厂offer的我,今天面试今日头条体无完肤

android 程序员 移动开发

2019-金九银十多家BAT大厂Android面试真题锦集干货整理

android 程序员 移动开发

架构实战营-设计消息队列存储消息数据的 MySQL 表格

Nullrable

架构实战

智+人:在云端重塑一场认知革命

脑极体

算法入门-选择排序

ES_her0

11月日更

200行代码打造超越一线互联网公司的换肤架构

android 程序员 移动开发

北鲲云超算平台如何为生命科学研究提供数据归档与存储服务?

北鲲云

记录渗透靶场实战【网络安全】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

如何提升口头表达能力?

石云升

表达 11月日更

固定价格项目能否敏捷?

Bruce Talk

敏捷 随笔 Agile

2019-必看-Android-高级面试题总结

android 程序员 移动开发

2019年移动开发,我的改变之旅

android 程序员 移动开发

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