ホームページ >Java >&#&チュートリアル >Java の Arrays.asList() メソッドの制限は何ですか?また、プリミティブ配列をリストに変換するときにそれらを克服するにはどうすればよいですか?
Arrays.asList() の動作とその制限について
配列やコレクションを扱うとき、配列を次のように変換したいと思うのが一般的です。操作を容易にするためのリスト。この目的には、Java の Arrays.asList() メソッドがよく使用されます。ただし、このメソッドが期待どおりに動作しない可能性がある特定のシナリオがあります。
Arrays.asList() が異なるリストを返す理由
次のコードを検討してください。
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); // Works int[] ints = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(ints); // Returns List<int[]>
最初の例では、Arrays.asList() はリスト指定された整数要素が含まれます。ただし、2 番目の例では List
オートボクシングの制限
Java のオートボクシング機能は、プリミティブ型を対応するラッパー型に自動的に変換します (例: int から Integer)。 。ただし、この変換は個々の要素に対してのみ発生し、プリミティブの配列に対しては発生しません。したがって、int[] を Arrays.asList() に渡す場合、オートボクシングは行われず、メソッドは List
Solutions
この動作を修正し、List
以上がJava の Arrays.asList() メソッドの制限は何ですか?また、プリミティブ配列をリストに変換するときにそれらを克服するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。