私は次のコードを持っています..
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条件に入っていません..どこが間違っているのかわかりません..事前に感謝します..
if
条件を次のように変更します。
if(Arrays.asList(weekEnds).contains(String.valueOf(i))){
または、配列を次のように変更します
Integer[] weekEnds={0,6};
文字列と整数を比較しています。配列には文字列 ( "0"
, "6"
) が含まれていますが、比較に int を渡しています。
そのintは整数にボックス化Integer(1)
されますが、等しくありません"1"
このような比較を行うには、int 配列が必要です。
これを変える:
String[] weekEnds={"0","6"};
に
int[] weekEnds = {0,6};
リンゴとオレンジ (この場合はString
s とInteger
s) を比較しています。
の配列を に変換String
していList
ます。contains()
次に、値を指定して呼び出しint
ます。メソッドはObject
パラメーターの型として受け取るため、int
は に自動ボックス化されますInteger
。
これを修正するには、次のように記述します。
if(Arrays.asList(weekEnds).contains("" + i)) {
に変更するだけInteger[] weekEnds={0,6};
で、うまくいくと思います。