5

私は次のコードを持っています..

    String[] weekEnds={"0","6"};

    for(int i=0;i<7;i++){

    if(Arrays.asList(weekEnds).contains(i)){

     System.out.println("I am in the array");       
    }    
  }

しかし、if条件に入っていません..どこが間違っているのかわかりません..事前に感謝します..

4

5 に答える 5

10

if条件を次のように変更します。

if(Arrays.asList(weekEnds).contains(String.valueOf(i))){

または、配列を次のように変更します

Integer[] weekEnds={0,6};
于 2012-06-11T12:05:09.830 に答える
7

文字列と整数を比較しています。配列には文字列 ( "0", "6") が含まれていますが、比較に int を渡しています。

そのintは整数にボックス化Integer(1)されますが、等しくありません"1"

于 2012-06-11T12:02:51.723 に答える
3

このような比較を行うには、int 配列が必要です。

これを変える:

String[] weekEnds={"0","6"};

int[] weekEnds = {0,6};
于 2012-06-11T12:04:18.443 に答える
3

リンゴとオレンジ (この場合はStrings とIntegers) を比較しています。

の配列を に変換StringしていListます。contains()次に、値を指定して呼び出しintます。メソッドはObjectパラメーターの型として受け取るため、intは に自動ボックス化されますInteger

これを修正するには、次のように記述します。

if(Arrays.asList(weekEnds).contains("" + i)) {
于 2012-06-11T12:03:12.767 に答える
0

に変更するだけInteger[] weekEnds={0,6};で、うまくいくと思います。

于 2012-06-11T12:04:52.500 に答える