写点什么

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

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

关注

评论

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

区块链赋能供应链金融风险管控探析

CECBC

国家发改委:利用区块链等新技术开展绿色电力交易试点

CECBC

13. AlphaGO带给人类的启示到底是什么

Databri_AI

人工智能

在 Discourse 中如何使用输入对话框

HoneyMoose

Java 8 及其后续版本的新遍历 forEach

HoneyMoose

阿里内部流传的JDK源码剖析手册!GitHub已获上千万的访问量

Java 编程 架构 jdk 面试

linux之ssh命令

入门小站

Linux

Redis集群docker部署

非晓为骁

redis Docker redis集群

Django 框架的神奇之处,几行代码就能自动入库,微型博客第 3 篇

梦想橡皮擦

9月日更

在智能运维中如何进行指标异常检测与分类?

云智慧AIOps社区

算法 场景应用落地 异常检测 智能运维 指标

网络攻防学习笔记 Day129

穿过生命散发芬芳

日志分析 9月日更

使用 Jackson – 将字符串转换为 JsonNode 对象

HoneyMoose

Vue进阶(幺零幺):npm install -g 和 npm install --save-dev 的关系

No Silver Bullet

Vue 9月日更

网红郭老师遭全平台账号封禁,违背公序良俗的网红该被封杀

石头IT视角

架构学习模块二

George

基于 Apache APISIX,爱奇艺 API 网关的更新与落地实践

API7.ai 技术团队

Apache APISIX Meetup 爱奇艺 企业案例

手撸二叉树之二叉树的所有路径

HelloWorld杰少

9月日更

FontAwesome图标大全

入门小站

工具

我在 InfoQ 创作的思路规划

baiyutang

写作技巧 9月日更

如何使用 GeoTrellis 和 React 构建地理处理应用程序

gisbook

GitHub spark Web GIS React

推荐三个实用的 Go 开发工具

AlwaysBeta

Go 语言

IntelliJ IDEA 快速插入 for 循环

HoneyMoose

模块七课后作业

NewBranSTONE

#架构实战营

模块七作业:王者荣耀商城异地多活架构设计

Felix

架构实战营 1 期模块 7 作业——业务异地多活架构

tt

架构实战营

如何修改 Discourse 的域名

HoneyMoose

去中心化身份务实

CECBC

原来搭建淘客项目如此简单,app、web、小程序轻松搞定

Silently9527

Java uniapp 淘宝客开源

【Flutter 专题】53 图解 BackdropFilter 高斯模糊

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

架构实战营模块七-王者荣耀商城异地多活架构设计

hello

架构训练营

华为云发布【云巢】智慧康养物联网加速器,加入立享多项扶持

华为云开发者联盟

物联网 华为云 应用开发 云巢 智慧康养

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