category: Java
DATE : 2006/07/28 (Fri)
DATE : 2006/07/28 (Fri)
便利な割には忘れやすいメソッドなので、ここにメモしておきます。
java.util.Arrays#asList(T...) は、配列をリスト(java.util.List)に変換するメソッドです。
詳しくは上記の javadoc に書いてありますが、このメソッド、Java SE 5 になってからはとても便利になりました。というのも、総称(Generics)や可変引数、Autoboxing / Auto-Unboxing が Java SE 5 から使えるようになったので、次のようにリストを簡単に生成できるようになったのです。(import 文などは省略)
List<String> stringList = Arrays.asList("abc", "def");
int 型を格納するリストも作れます。
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
正確には、java.lang.Integer 型ですが、Autoboxing / Auto-Unboxing によって int 型と Integer 型は特に区別することなく使えます。
この java.util.Arrays#asList(T...) と java.util.Collections#unmodifiableList(java.util.List) を組み合わせれば、変更不可能なリストを手軽に作れてしまいます(配列の場合は、final 宣言をしても中身は書き換え可能です)。
List<Integer> integerList = Collections.unmodifiableList(
Arrays.asList(1, 2, 3, 4, 5));
ちなみに、Java SE 1.4 で asList メソッドを使用する場合は、次のようになります。
List stringList = Arrays.asList(new String[]{"abc", "def"});
List integerList = Arrays.asList(new Integer[]{
new Integer(0), new Integer(1), new Integer(2),
new Integer(3), new Integer(4), new Integer(5)});
String 型を格納するリストはまだしも、Integer 型は……('A`)
PR
●この記事にコメントする
忍者ブログ [PR]