簡體   English   中英

數組contains()方法行為不端

[英]array contains() method misbehaving

我有以下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,但確實如此!

直接在ArrayList上使用.contains()方法。 您還可以顯式返回布爾結果,而無需return truereturn false

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM