如果我有以下代码:
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 中的不一致(错误?)还是我遗漏了两种情况之间的一些根本区别?