A look at Java 7's new features
1. 创建Generic Type更加方便
Map<String, List<String>> trades = new TreeMap <>();
2.类似C#的支持String的switch,简便了许多。之前的版本支持基础类型,基础类型对应的Box类和枚举类型。
如
/** * @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方法来实现的,可以参考. 用jad看了下enum的switch实现原理差不多。
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 } }