Java での配列から ArrayList への変換
Java では、特に考慮する場合、配列を ArrayList に変換するプロセスが混乱することがあります。 Java SE 1.4.2 で導入された変更。この記事では、この変換の複雑さを掘り下げ、利用可能なオプションを包括的に理解します。
元々、Arrays.asList() メソッドでは、配列の要素を含む ArrayList を作成できました。ただし、この動作は Java SE 1.5.0 で変更され、代わりに ArrayList に配列自体が含まれるようになりました。
たとえば、次のコード スニペットを考えてみましょう:
Java SE 1.4 .2
int[] numbers = new int[] { 1, 2, 3 }; java.util.List<Integer> list = Arrays.asList(numbers);
Java SE 1.5.0
int[] numbers = new Integer[] { 1, 2, 3 }; java.util.List<Integer> list = Arrays.asList(numbers);
顕著な違いは、作成される ArrayList のタイプにあります。 1.4.2 では、 list は整数値 1、2、および 3 を含む ArrayList です。 1.5.0 では、 list は配列番号を含む ArrayList です。
この区別により、次のような予期しない結果が生じる可能性があります。 :
Assert.assertTrue(list.indexOf(4) == -1);
このアサーションは 1.4.2 では成立しますが、1.5.0 では失敗します。 Integer 値ではなく、配列番号が含まれるようになりました。
このような問題を回避し、Integer 値の ArrayList を取得するには、1 つの解決策は、プリミティブ int 型をラップする Integer クラスを使用することです。
Integer[] numbers = new Integer[] { 1, 2, 3 }; java.util.List<Integer> list = Arrays.asList(numbers);
この変換では、Integer クラスを利用して、必要な Integer 値を含む ArrayList を作成します。
以上がJava 配列を ArrayList に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。