java - 这是资源泄漏还是误报?

标签 java

Eclipse 在声明“out”时向我发出警告。这是误报吗?

Random r = new Random();
try(PrintWriter out1 = new PrintWriter("one.txt");
    PrintWriter out2 = new PrintWriter("two.txt"))
{
  PrintWriter out = r.nextBoolean()?out1:out2;
  out.println("x");
}

P.S.:警告是“资源泄漏:‘out’永远不会关闭”。

最佳答案

这是误报。所有实例均已正确关闭。

我很久以前就关闭了 Eclipse 中那些与资源相关的警告。它们真的不可靠,因为有太多“明显”正确的控制流路径,如果不实际执行它们就无法被 Eclipse 识别为“正确”……任何重要的代码都注定会有这些误报。

关于java - 这是资源泄漏还是误报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986131/

相关文章:

java - Swing Netbeans 构建器中不显示背景图像

java - 将多个数组转换为一个大的多维数组以及如何操作它

java - 如何从 URL 读取数据并在折线图中使用它?出现 JAVAFX 错误

java - HashSet 与 int 数组的用法

java - 如何使用java获取字符串中的日期并进行比较

java - apache通用配置文件放在哪里

Java:Hashset Vs TreeSet - 我应该什么时候使用另一个?

java - 从 jar 文件恢复项目

java - 自定义标签 - JspWriter.write() 不产生输出

java - JToolBar - JButton - 图像未显示