1

1ArrayListつの値 true を含む「リスト」があります。しかし、私が書くとき:

if (list.get(0)==true)

「互換性のないオペランド型のオブジェクトとブール値」というエラーが表示されます。ArrayList.get()メソッドは常に returnですかobject? もしそうなら、どうすればboolean値を取得できますか?

ありがとう。

4

3 に答える 3

5

リストに常にブール値が含まれている場合は、配列リストをブール値として入力することをお勧めします

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");
}
于 2013-03-28T15:48:07.540 に答える
2

次のように、「if」ステートメントが true になるかどうかを確認するために var を作成してみることができます。

for(int i = 0; i < aList.size();i++){ match = aList.get(i).equals("Red"); System.out.print(match); }

match 変数は、この比較のブール値を受け取ります。

よろしく、

オタコン。

于 2013-03-28T15:48:45.747 に答える
2

はい、ArrayList はオブジェクトを格納し、ジェネリックを使用しない限り、クラスを認識できません。

したがって、ジェネリックまたは「get」ごとにキャストするという 2 つのオプションがあります。

キャストあり:

if ( ((Boolean)list.get(0))==true ) { ... }

ジェネリックでは、次のようにリストを宣言します。

List<Boolean> list= new ArrayList<>();
list.add(true);

if (list.get(0)) { // list.get(0)==true is unnecesary
...
}
于 2013-03-28T15:46:38.643 に答える