1. JAVA5 的新特性
静态引入(link)
可变参数(link)
for-each 增强 for 循环(link)
Iterator 迭代器(link)
自动装箱拆箱 (link)
泛型(link)
枚举(link)
注解
2. JAVA7 的新特性
二进制数字表达式, 可用
0b
或0B
开头表示二进制数使用下划线对数值进行分隔表达(編译器级别的特性)
switch
语句支持String
变量, 底层是用hashCode
方法去辨识
switch
支持byte, short, char, int
以及对应的包装类(自动拆箱)
枚举(ordinal
方法),String
(hashCode
方法)Objects
类封装了Object
对象的一些操作方法, 是工具类;ThreadLocalRandom
类是线程安全的获取随机数的类.泛型的菱形语法
堆污染和
@SafeVarargs
, 抑制堆污染警告的标签.同时捕获多个异常处理, 可在一个 try 之后带多个 catch,
同时捕获多个异常, 分开处理各种情况的异常.增强 throw 语句, 可以指出具体抛出的异常
try-with-resources
语句, 可以在 try 之后跟一对圆括号,
里面声明要用到的资源, 之后就可以在执行结束后自动关闭资源.
但资源必须实现java.lang.AutoCloseable
接口才可以这样做.
实例如下://在try代码块执行结束后, 这个文件输入流就会自动关闭 try(FileInputStream input = new FileInputStream("file.txt")){...}
- NIO2 介绍(
Files, Path, Paths
)