概述
@Cleanup可以用来调用close方法来关闭的资源
try {
@Cleanup
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byteArrayOutputStream.write(new byte[] {'Y','e','s'});
System.out.println(byteArrayOutputStream.toString());
} catch (Exception e) {
e.printStackTrace();
}
等价
ByteArrayOutputStream byteArrayOutputStream1 = new ByteArrayOutputStream();
try {
byteArrayOutputStream1.write(new byte[] {'Y','e','s'});
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
byteArrayOutputStream1.close();
} catch (IOException e) {
e.printStackTrace();
}
}
等价
ByteArrayOutputStream byteArrayOutputStream1 = new ByteArrayOutputStream();
try {
try {
byteArrayOutputStream1.write(new byte[] {'Y','e','s'});
}finally {
byteArrayOutputStream1.close();
}
} catch (IOException e) {
e.printStackTrace();
}