增强的语言特性 Language enhancements
- 菱形操作符 Diamond Operator
1 Map<String, List<Trade>> trades = new TreeMap<>();
- switch支持字符串 Using strings in switch statements
1 public void processTrade(Trade t) { 2 String status = t.getStatus(); 3 switch(status){ 4 case NEW: 5 newTrade(t); 6 break; 7 case EXECUTE: 8 executeTrade(t); 9 break; 10 case PENDING: 11 pendingTrade(t); 12 break; 13 default: 14 break; 15 } 16 }
- 自动资源管理 Automatic resource management
1 public void newTry() { 2 try (FileOutputStream fos = new FileOutputStream("movies.txt"); 3 DataOutputStream dos = new DataOutputStream(fos)) { 4 dos.writeUTF("Java 7 Block Buster"); 5 } catch (IOException e) { 6 // log the exception 7 } 8 }
- 数字可用下划线 Numeric literals with underscores
1 int million = 1_000_000
改进的异常处理
新文件系统 New file system API(NIO 2.0)
用Path替代File
文件改变通知
分治 Fork and Join