上线扫包的时候,使用sonarlint发现一个资源没有在最后关闭,推荐使用
try-with-resources结构:
public class Demo{
public static void main(String[] args) {
try (CloseableHttpClient client = new CloseableHttpClient()) {
} catch (Exception e) {
System.out.println(e);
}
}
前提是要 try( ) 内声明的类实现Closeable或AutoCloseable接口,同时重写close方法。
这样如果try内报错,无需在finally内编写任何代码,甚至不需要finally都能确保资源最终会关闭
使用多个资源需要用 ; 分隔开