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);