java - 资源泄漏:'' 未在此位置关闭
问题描述
如果我有以下代码:
public XNameSupport implements AutoCloseable {
private String localName;
public String getLocalName(){
return localName;
}
}
public XElementSupport implements AutoCloseable {
private XNameSupport name = new XNameSupport("root");
private List<XElementSupport> child = new ArrayList<XElementSupport>();
public XNameSupport getName(){
return name;
}
Iterable<XElementSupport> elements(String name) throws Exception {
List<XElementSupport> elements = new ArrayList<XElementSupport>();
for (XElementSupport element : child) {
if (element.getName().localName.equals(name))//Resource leak: '<unassigned Closeable value>' is not closed at this location
elements.add(element);
}
return elements;
}
在element.getName().localName 下;并向我显示以下警告:
资源泄漏:“未分配的可关闭值”永远不会关闭
如果我通过方法getLocalName()访问localName并且警告消失。我在现场收到警告。这是 Eclipse 中的不一致(错误?)还是我错过了这两种场景之间的一些根本区别?
解决方案
推荐阅读
- c# - 通过 AWS API Gateway 上传的 PDF 已损坏
- python - 提高函数运行时间
- javascript - 如何在openlayers地图中绘制svg
- mysql - 如果该组中没有记录,如何使计数在 5 分钟后返回 0?
- java - 双变量中的大值在 TextView 中显示不同
- c# - IDataReader 为 20m 条记录消耗大量内存
- git - Gitlab合并本地分支
- javascript - Fetch API:请求完成后“await res.json()”会失败吗?
- python - Popen 的意外输出
- php - 未发送到 office365 邮件客户端的电子邮件