数组contains()方法行为不端

时间:2013-04-22 04:38:31

标签: java arrays string contains

我有以下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 中的所有字符串等同于一个或任何LMSEntity对象上的lmsid属性< /强>

认为以上内容可以帮助我实现这一目标,但它在.contains()行失败了。当我调试时,它不应该返回false,但确实如此!

1 个答案:

答案 0 :(得分:2)

直接在ArrayList上使用.contains()方法。您还可以显式返回布尔结果,而无需return truereturn false

for (LMSEntity lms : registeredLMSs) {
    return !lmss.contains(lms.getLmsid());
}