我有一個ArrayList
「list」,其中包含一個值true。然而,當我寫:如何在處理中從ArrayList中獲取布爾值
if (list.get(0)==true)
我得到錯誤「不兼容的操作對象類型和布爾」。 ArrayList.get()
方法總是返回object
?如果是這樣,我怎麼能得到boolean
值?
謝謝。
我有一個ArrayList
「list」,其中包含一個值true。然而,當我寫:如何在處理中從ArrayList中獲取布爾值
if (list.get(0)==true)
我得到錯誤「不兼容的操作對象類型和布爾」。 ArrayList.get()
方法總是返回object
?如果是這樣,我怎麼能得到boolean
值?
謝謝。
如果您的列表始終包含布爾值,我建議您鍵入的ArrayList布爾
List<Boolean> list = ArrayList<Boolean>();
而且現在你可以做你想做的事情了:
if (list.get(0))
有關信息:
if (list.get(0)==true)
if (list.get(0))
和是相同的。
,如果你不能使用泛型,你可以投
if((Boolean) list.get(0))
{
System.out.println("OK");
}
是的,ArrayList存儲對象,它不能知道類,除非你使用泛型。
所以你有兩個選擇:泛型或鑄造每個「獲得」。
擁有鑄造:
if (((Boolean)list.get(0))==true) { ... }
有了泛型,宣佈名單如下:
List<Boolean> list= new ArrayList<>();
list.add(true);
if (list.get(0)) { // list.get(0)==true is unnecesary
...
}
謝謝大家! ( - : – user1767774
你可以嘗試創建一個變種,以驗證「如果」聲明將是真實的是這樣的:
for(int i = 0; i < aList.size();i++){ match = aList.get(i).equals("Red"); System.out.print(match); }
的匹配變量將接收此比較的布爾值。
Regards,
Otacon。
謝謝大家!( - : – user1767774