今天,查看Gson相关的文章是,看到一段try(){}代码,大为困惑,于是找上了万能的搜索,找到一篇 Java 7 新的 try-with-resources 语句,自动资源释放 ,看过后对try(){}有了一定的了解。
try(){}就是try-with-resources 语句,是在Java 7以后开始支持的一种自动资源管理机制,所有实现了 java.lang.AutoCloseable 接口 的资源类,放入try语句的括号中,在Java 7及以后版本的编译器和运行环境中,都可以实现资源的自动关闭,极大的方便了开发。代码对比如下:
使用try(){}前常用的代码编写如下:
Writer writer=null;
try{
writer=new FileWriter("test.txt");
writer.write("this is a test!");
}catch (Exception e) {
e.printStackTrace();
}finally {
if(writer!=null){
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用try(){}以后,代码如下:
try(Writer writer=new FileWriter("test.txt")){
writer.write("this is a test!");
} catch (IOException e) {
e.printStackTrace();
}