我知道您尝试传递的资源将自动关闭,如果该资源已实现AutoCloseable。到现在为止还挺好。但是,当我有几个要自动关闭的资源时该怎么办。带插座的例子; try (Socket socket = new Socket()) { input = new DataInputStream(socket.getInputStream()); output = new DataOutputStream(socket.getOutputStream()); } catch (IOException e) { } 所以我知道套…

2020年7月26日 0条评论 78点热度 阅读全文

try-with功能如何对已声明为AutoCloseable的null变量起作用? 我假设这会在尝试对变量调用close时导致空指针异常,但它没有问题: try (BufferedReader br = null){ System.out.println("Test"); } catch (IOException e){ e.printStackTrace(); } 解决方案如下: Java语言规范在14.20.3. try-with-resources部分中指定仅在非null时关闭它: A resource is…

2019年3月9日 0条评论 62点热度 阅读全文