看看Java 1.7有什么更新了什么

本文介绍了Java的一些新特性,包括简化集合创建、自动资源回收、泛型类型简化、数字中使用下划线、字符串switch-case支持、二进制字符创建、多重捕获等功能。此外还概述了Java 7的主要改进,如模块化、JVM对动态语言的支持、新的I/O API等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.优化了对集合的支持,创建List / Set / Map 时写法更简单了。
List<String> list = ["item"];
String item = list[0];
Set<String> set = {"item"};
Map<String,Integer> map = {"key" : 1};
int value = map["key"];

有点感觉像是JAVASCRIPT 一样方便,,确实符合我的胃口。
2.对资源的自动回收管理
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
return br.readLine();
}
相对于以前版本,br不用代码进行回收管理了,也就是省去了
finally {
br.close();
}

3.对泛型实力创建过程中类型应用进行了简化,不用在重复指明泛型类型了
即这样写就行了:Map<String,String> hello = new Map<>();

3.可以在数字中使用下划线了
int billion = 1_000_000_000;

4.对字符串进行switch case
例如:
String str="News";
switch (str)
{
case "News":
//....
break;
//...
}
然而,这个功能在C#中早就支持了,java竟然这么迟才更新。假若想在Java1.7以下版本怎样实现switch case字符串的选择呢。解决这一问题应该方法有很多,其中利用Java1.5的特性枚举不愧为最好的方法。
注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。(这个功能在C#中早就支持)

5.你可用作二进制字符前加上 0b 来创建一个二进制类型。
例如:
int binary = 0b1001_1001;

6.多重捕获Multi-catch
catch(IOException | NullPointerException | ..........) {

}
另外:
Java 1.4到1.5的修改很大,在编译compile-time 方面提升很大,Java 6在运行时runtime智能上做了优化,Java 7的主要改进:模块化。Java 7新功能的具体的主要修改如下:

◆Modularization 模块化– JSR 294 或者 Project Jigsaw

◆JVM 对动态语言的支持

◆更多新的 I/O APIs 即将完成,包括真正的异步I/O 和最终的真实的文件系统 file system API – JSR 203

◆对XML本地语言支持. (可能的probable)

◆Safe rethrow – 允许catch捕获语句让编译器更加聪明的知道基于什么情况下重新throw什么内容。

◆Null dereference expressions – Null 和 ‘?’ syntax 比较,语法类似 Groovy… 让开发者避免过多的空值验证。

◆更好的类型推断 Better type inference

◆多重捕获Multi-catch

◆JSR 296 – Swing 应用框架 application framework – 这方面需要更简单和简洁。

“小的”sun方面的修改有:

◆升级的类加载class loader 架构;

◆XRender pipeline for Java 2D:是Open JDK ntegrators Challenge project项目;

◆Swing 更新 – JXLayer, DatePicker, CSS styling 等;

◆JavaFX

sun方面“快速”的修改,主要是性能更新:

◆并发方面的细微调整 concurrencytweaks (JSR 166),更好的支持Multicore

◆G1 垃圾收集器Garbage collector - 带来更小的中断时间,有希望替代 CMS (Concurrent mark sweep) GC

◆64 bit VM的压缩指针Compressed pointer

◆MVM-lite – 多个虚拟机能够独立运行应用和允许用kill -9杀死java应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值