ホームページ > Java > &#&チュートリアル > バージョン 1.4.2 以降、Java の `Arrays.asList()` の動作はどう変わりましたか?

バージョン 1.4.2 以降、Java の `Arrays.asList()` の動作はどう変わりましたか?

Patricia Arquette
リリース: 2024-12-06 05:36:15
オリジナル
255 人が閲覧しました

How Has the Behavior of `Arrays.asList()` Changed in Java Since Version 1.4.2?

Java での配列からリストへ: 動作の進化

Java では、配列からリストへの変換は一般的なタスクです。ただし、Arrays.asList() メソッドの動作は、Java SE 1.4.2 以降、大幅に変更されました。

Java 1.5 より前の動作

Java 1.5 より前では、 Arrays.asList() は、配列の実際の要素を含むリストを返しました。例:

int[] numbers = { 1, 2, 3 };
List<Integer> list1 = Arrays.asList(numbers);
ログイン後にコピー

この場合、list1 には要素 1、2、および 3 が含まれます。

Java 1.5 以降の動作

Java 1.5 以降、Arrays.asList() の動作が変更されました。元の配列への参照を含む固定サイズのリストを返すようになりました。結果:

int[] numbers = { 1, 2, 3 };
List<Integer> list2 = Arrays.asList(numbers);
ログイン後にコピー

この場合、list2 には 1 つの要素 (配列番号自体) が含まれます。

変更の理由

動作の変更は、タイプ セーフティを強制するために行われました。リストには int などのプリミティブ型を含めることができないため、返されるリストは List 型である必要があります。

既存のコードへの影響

Java 1.5 に依存する前に作成されたコードArrays.asList() の古い動作を変更する必要がある場合があります。たとえば、次のアサーションは Java 1.5 以降では失敗します。

Assert.assertTrue(Arrays.asList(numbers).indexOf(4) == -1);
ログイン後にコピー

配列をプリミティブ型のリストに変換する

プリミティブ型の配列を次のように変換するには対応するラッパー クラスのリストには、次のように使用できます。テクニック:

Integer[] numbers = new Integer[] { 1, 2, 3 };
List<Integer> list = Arrays.asList(numbers);
ログイン後にコピー

これにより、配列の値を含む Integer オブジェクトのリストが作成されます。

以上がバージョン 1.4.2 以降、Java の `Arrays.asList()` の動作はどう変わりましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート