导航

Java 7 的 7 个新的 “酷” 特性

Posted on 2014-12-11 00:08  酷鱼影子  阅读(160)  评论(0编辑  收藏  举报

1. switch 中使用字符串变量

public void testStringSwitch(String direction) {
  switch (direction) {
     case "up":
     y--;
     break;
     case "down":
     y++;
     break;
     case "left":
     x--;
     break;
     case "right":
     x++;
     break;
    default:
    System.out.println("Invalid direction!");
    break;
  }
}

2. 简化泛型对象创建

// Java 7 以前版本
Map<String,Map<String,int>>m=new HashMap<String, Map<String,int>>();
// Java 7
Map<String, Map<String, int>> m = new HashMap<>();

3. 多异常处理

try {
    Class a = Class.forName("wrongClassName");
    Object instance = a.newInstance();
} catch (ClassNotFoundException | IllegalAccessException |
   InstantiationException ex) {
   System.out.println("Failed to create instance");
}

4. 资源的自动释放

try (BufferedReader in=new BufferedReader(new FileReader("test.txt")))
{
    String line = null;
    while ((line = in.readLine()) != null) {
    System.out.println(line);
    }
} catch (IOException ex) {
    ex.printStackTrace();
}

5. 文件 IO API 的改进

下面是列出一个文件中所有行并打印的方法
List<String> lines =  Files.readAllLines(
FileSystems.getDefault().getPath("test.txt"), StandardCharsets.UTF_8);
 
for (String line : lines) System.out.println(line);