1. 建立Generic Type更加方便 java
Map<String, List<String>> trades = new TreeMap <>(); spa
2.相似C#的支持String的switch,簡便了許多。以前的版本支持基礎類型,基礎類型對應的Box類和枚舉類型。 .net
如 code
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub switch (TEST.TEST1) { case TEST1: break; case TEST2: break; case TEST3: break; } } enum TEST { TEST1, TEST2, TEST3 }
Character c = new Character('C'); switch(c){ case 'T': break; case 'D': break; }
public static void switchExample(){ String test = "DEV"; switch(test){ case "PROD": System.out.println("PROD"); break; case "DEV": System.out.println("DEV"); break; } }
其實底層仍然沒有變,至關於提供了語法糖,底層的時間仍然是經過switch string的hashcode和equals方法來實現的,能夠參考http://my.oschina.net/BeyondBit/blog/76268?p=3#comments. 用jad看了下enum的switch實現原理差很少。 blog
3. 相似與C#的using, java提供了try-with-resource語句,防止忘記關閉一些資源。這些類要實現java.lang.AutoCloseable接口。 接口
public void newTry() { try (FileOutputStream fos = new FileOutputStream("movies.txt"); DataOutputStream dos = new DataOutputStream(fos)) { dos.writeUTF("Java 7 Block Buster"); } catch (IOException e) { // log the exception } }