2013-10-30 102 views
0

如何將檢查的最後一個索引值的數組列表數組列表最後一個索引值進行覈對

我在該列表中的實際值碼

ArrayList<String> admin_pri = (ArrayList<String>) agent_userlist 
        .get("ISadmin"); 
boolean result = Manageusers.isadmin_check; 
      String Actual = " "; 
      if (result == true) {  
       Actual = "yes"; 
      } else {  
       Actual = "No"; 
      } 
      System.out.println("to verify Actual values contains in the list" 
        + admin_pri.get(admin_pri.size() - 1).contains(Actual)); 

可用,但布爾聲明(。載有(實際)其產生假

如何將檢查的最後一個索引值

感謝

prabu

+3

那麼* admin_pri.get(admin_pri.size() - 1)'的值是什麼?請注意,你已經有了'否'(帶有大寫字母),但'是'(帶有小寫字母開頭) - 你確定它們是正確的嗎? (我也鼓勵你遵循Java的命名約定,避免與布爾文字相比較,在適當的地方使用條件運算符,並且更易讀取你的代碼。) –

+0

'if(result == true)'是多餘的。 'if'檢查真實和虛假;改用'if(result)'。閱讀關於它[這裏](http://codingbat.com/doc/java-if-boolean-logic.html) – ChiefTwoPencils

回答

1

問題是,您正在使用String.contains(CharSequence)而不是ArrayList包含。

當你打電話給admin_pri.get(admin_pri.size() - 1)時,你會得到列表中最後一個字符串,所以對結果調用contains

如果你想確保這個項目是在列表中,你應該叫:

boolean isContained = admin_pri.contains(Actual); 

如果要檢查它出現在列表的最後一個元素,使用:

String lastElement = admin_pri.get(admin_pri() - 1); 
boolean isContainedLast = lastElement.equals(Actual); 
相關問題