我必须根据xml中的值加载组合框中的值。
当我要加载组合框时,方法
public static List<String> getVariableNames(Element thisElement, String type) {
if (thisElement == null) {
return new ArrayList<String>();
}
List<String> variableNames = new ArrayList<String>();
List<Element> variableElements = thisElement.elements();
for (Element nextElement : variableElements) {
if (thisElement.equals(nextElement)) {
break;
} else if (isVariable(nextElement)) {
String iteratedType = nextElement.attributeValue("TYPE");
if (type.equals(iteratedType)) {
variableNames.add(nextElement.attributeValue("VARIABLENAME"));
}
}
}
return variableNames;
}
被召唤。
但这不起作用。
此实施中是否有任何问题?
答案 0 :(得分:0)
根据你的评论,thisElement.equals(nextElement)总是返回false。
可能的原因:
thisElement
和nextElement
可能是对不同对象的引用(尽管具有相同的内容),.equals()的默认实现会比较在这种情况下可能不同的对象的地址。
请确保Element类实际实现了equals()
方法并比较了必需的字段,以便它对于相同/相同的对象返回true。