我有以下 Java 方法:
public boolean zonesAllAccountable(String messyZones)
{
ArrayList<String> zonesAndLMS = getArrayListOfZones(messyZones);
ArrayList<String> lmss = getArrayListOfLMSs(zonesAndLMS);
for (LMSEntity lms : registeredLMSs) {
if(!Arrays.asList(lmss).contains(lms.getLmsid()))
{
return false;
}
}
return true;
}
我想做的是确保 lmss
中的所有字符串 ArrayList等于lmsid
一个或任何 LMSEntity 对象上的属性。
我认为上述应该可以帮助我实现这一目标,但它在 .contains()
上失败了线。当我调试时,它不应该返回 false,但它确实如此!
最佳答案
使用.contains()
直接在ArrayList
上调用方法。您还可以显式返回 boolean 结果,而不需要 return true
或 return false
。
for (LMSEntity lms : registeredLMSs) {
return !lmss.contains(lms.getLmsid());
}
关于java - 数组 contains() 方法行为不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139538/