写点什么

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

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

关注

评论

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

Docker容器访问挂载文件权限问题

电子尖叫食人鱼

Docker 容器 运维

SMART Utility for mac (磁盘诊断工具)

Geek贝

BetterTouchTool for Mac(触控板增强神器)

Geek贝

Mac系统设置维护工具TinkerTool System for Mac

兮兮立立

MySQL 逻辑架构说明

量贩潮汐·WholesaleTide

MySQL

干货分享!MCP 实现原理,小白也能看懂

不在线第一只蜗牛

MCP

用多Agent“组团开挂”是一种什么体验?

BetterYeah AI

用一套陪玩系统小程序源码,开启你的游戏陪玩平台创业之路

DUOKE七七

uni-app vue2 MySQL 数据库

行业分享丨从装载机到电动车,多学科求解器平台如何拓展仿真边界

Altair RapidMiner

AI 汽车 仿真 CAE EDEM

BetterYeah AI完成超亿元B轮融资,阿里云领投加码企业级智能体研发

BetterYeah AI

企业agent

全能电子书阅读管理工具 OmniReader Pro for Mac

兮兮立立

内网即时通讯软件BeeWorks,支持私有化局域网使用

BeeWorks

即时通讯 IM 私有化部署

BetterYeah 上线自定义MCP | 轻松拓展企业Agent无限边界

BetterYeah AI

专业远程桌面连接工具Microsoft Remote Desktop

Geek贝

DS豆包通义BTY王炸组合,我做了个元宵AI视频小程序

BetterYeah AI

Alfred 5 for Mac(苹果效率提升工具)

Geek贝

技术干货丨基于SimLab的耳机充电底座的多角度跌落分析

Altair RapidMiner

仿真 CAE Simlab 跌落仿真 电子消费品

WiFi无线网络管理工具 WiFi Explorer Pro for Mac

兮兮立立

视频画质无损修复软件Aiarty Video Enhancer for Mac

兮兮立立

文件快捷拖放管理工具Dropzone 4 for Mac

兮兮立立

成为服务台经理需要哪些技能?-ManageEngine卓豪

ServiceDesk_Plus

IT服务管理

数据分析与AI丨从传感器到智能决策:数据驱动企业发展与 ESG 创新的全链路实践

Altair RapidMiner

人工智能 AI 数字孪生 仿真 FEKO

EdgeView for Mac 图片浏览查看编辑软件

兮兮立立

亲历者复盘:快手前端工程质量诊断平台建设与演进之路

快手技术

前端

安全加密的即时通讯软件,统一门户高效互联

BeeWorks

即时通讯 IM 私有化部署

北京市科委发布《北京市加快人工智能赋能科学研究高质量发展行动计划》

ModelWhale

政策 科学智能 北京市科委

如何用DeepSeek让你的营销、开发、客服Agent更强大?

BetterYeah AI

回归开源,两位 Java 和 Go 程序员分享的开源贡献指引

阿里巴巴云原生

阿里云 云原生 Higress

【华为云MySQL技术专栏】TaurusDB增备功能介绍

华为云开发者联盟

MacCleanse for Mac 系统垃圾清理软件

兮兮立立

面试官:如何实现企业级MCP分布式部署?

王磊

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