try(InputStream in = url.openStream(); Scanner scanner = new Scanner(in).useDelimiter("\\A")) {
} catch(IOException e) {
e.printStackTrace();
}
该行
new Scanner(in)
发出警告:
Resource leak: <unassigned Closeable> value' is never closed
如果我删除useDelimiter(String)
。
useDelimiter(String)
不会返回新实例(它会返回this
),为什么我会收到此警告?这是一个错误吗?
我正在使用Eclipse 4.4。我的问题与this无关,因为情况不同会发出警告
答案 0 :(得分:0)
是的,这看起来像是泄漏检查器中的一个错误。我建议提交错误报告。最初的谷歌搜索似乎表明一个人不存在。
虽然我猜您可以声称无法正确解决此问题。问题是很难静态地证明useDelimiter在没有大量特殊外壳的情况下返回它。
答案 1 :(得分:0)
IntelliJ也有这个缺陷。对我来说,资源检查器似乎并不难以确定useDelimiter()返回 this 。所以我认为如果在IntelliJ和/或Eclipse中修复,这可能是一个快速的胜利:)