私は次のコードを持っています..
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};
リンゴとオレンジ (この場合はStrings とIntegers) を比較しています。
の配列を に変換StringしていListます。contains()次に、値を指定して呼び出しintます。メソッドはObjectパラメーターの型として受け取るため、intは に自動ボックス化されますInteger。
これを修正するには、次のように記述します。
if(Arrays.asList(weekEnds).contains("" + i)) {
に変更するだけInteger[] weekEnds={0,6};で、うまくいくと思います。