Java9新特性
JDK和JRE目录结构的改变
1. 模块化系统
需要对外暴露的模块(后为需要暴露的文件所在包的路径):在当前模块下新建moudle-info.java内写入:export com.xxx.bean;
需要接受文件的模块(后为需要接受文件所在的模块名):在当前模块下新建moudle-info.java内写入:requires junit;
2. JAVA的REPL工具:jShell命令
3. 接口中的私有方法
4. 钻石操作符的使用升级
钻石操作符与匿名内部类在java 8中不能共存。在java9可以。
Comparator<Object> com =new Comparator<>() {
@Override
public int compare(Object o1, Object o2) {
return 0;}};
jdk7中的新特性:类型推断
ArrayList<String> list =new ArrayList<>();
5. try操作的升级
6. String存储结构变更
7. 集合工厂方法
快速创建只读集合
8. InputStream加强
9. 增强的Stream API
10. Optional获取Stream的方法
JavaScript引擎升级:Nashorn
Java 10 新特性
JDK 10的12个JEP
局部变量的类型推断
使用var标识符
1.声明变量时,根据所附的值,推断变量的类型
var num =10;
var list =new ArrayList<Integer>(); //若不写Integer则默认为Object
list.add(123);
2.遍历操作
for (var i : list) {
System.out.println(i);
System.out.println(i.getClass());}
3.普通的遍历操作
for (var i =0; i <100; i++) {
System.out.println(i);}
集合新增创建不可变集合的方法
Java 11 新特性
1. 新增了一系列字符串处理方法
2. Optional 加强
3. 局部类型推断升级
4. 全新的Http客户端API
5. 更简化的编译运行程序
6. 废弃Nashorn引擎
7. ZGC











网友评论