Java1.7和1.8新特性
程序员文章站
2022-07-14 13:39:08
...
1.7新特性
- switch支持string
- 创建泛型实例,可以通过类型推断简化代码,new后面的<>内不用再写泛型
HashMap<String, String> 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;
}
}
- 允许使用::关子健传递方法或者构造函数
还有很多其他新特性,有时间再去看吧。哈哈哈