Java1.7和1.8新特性

1.7新特性
  • switch支持string
  • 创建泛型实例,可以通过类型推断简化代码,new后面的<>内不用再写泛型
HashMap parmas = new HashMap<>();
  • try-with-resource语句实现自动资源管理,在try执行完毕后自动关闭资源,关闭的资源需要实现java.lang.AutoCloseable接口
private static void customBufferStreamCopy(File source, File target) {
    try (InputStream fis = new FileInputStream(source);
        OutputStream fos = new FileOutputStream(target)){
  
        byte[] buf = new byte[8192];
  
        int i;
        while ((i = fis.read(buf)) != -1) {
            fos.write(buf, 0, i);
        }
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}
  • 单个catch捕捉多个异常,异常之间用管道符(|)隔开
   public static void testThrows() throws IOException, SQLException { 
      try { 
           testThrows(); 
       } catch (IOException | SQLException ex) { 
           throw ex; 
       } 
   }
Java1.8新特性
  • lambda表达式,功能接口(只有一个方法的接口)

  • 接口允许添加非抽象方法,需要添加default字段

public interface Demo {
    default public int add(int a,int b){
        return a+b;
    }
}
  • 允许使用::关子健传递方法或者构造函数

还有很多其他新特性,有时间再去看吧。哈哈哈

你可能感兴趣的:(Java1.7和1.8新特性)