JDK1.5
1.自动装箱与拆箱:
2.枚举(常用来设计单例模式)
实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。
enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)。
enum 对象的常用方法
int compareTo(E o)
比较此枚举与指定对象的顺序。
Class<E> getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。
String name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String toString()
返回枚举常量的名称,它包含在声明中。
static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
3.静态导入
4.可变参数
5.内省
JDK1.6
1.Web服务元数据
2.脚本语言支持
3.JTable的排序和过滤
4.更简单,更强大的JAX-WS
5.轻量级Http Server
6.嵌入式数据库 Derby
JDK1.7
1,switch中可以使用字串了
2.运用List<User> tempList = new ArrayList<>(); 即泛型实例化类型自动推断
3.语法上支持集合,而不一定是数组
4.新增一些取环境信息的工具方法
5.Boolean类型反转,空指针安全,参与位运算
6.两个char间的equals
7.安全的加减乘除
8.map集合支持并发请求,且可以写成 Map map = {name:"xxx",age:18};
JDK1.8
1. 允许在接口中有默认方法实现
2. Lambda表达式
3. 函数式接口
4. 方法和构造函数引用
5. Lambda的范围
6. 内置函数式接口
7. Streams
8. Parallel Streams
9. Map
10. 时间日期API
11. Annotations