ホームページ >Java >&#&チュートリアル >Java 配列を ArrayList に正しく変換するにはどうすればよいですか?

Java 配列を ArrayList に正しく変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 05:01:15225ブラウズ

How Do I Correctly Convert a Java Array to an ArrayList?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。