次のように、配列をArrayListに変換するメソッドがあります。
public static <T> ArrayList<T> getArrayList(T[] a){
ArrayList<T> retList = new ArrayList<T>();
for (T i : a){
retList.add(i);
}
return retList;
}
これは、次のようなオブジェクト配列で正常に機能します。
String[] arr = {"String","'nother string","etc"};
ArrayList<String> stringList = initArrayList(arr);
ただし、プリミティブ配列ではありません。
int[] arr2 = {1,2,3};
ArrayList<Integer> intList = initArrayList(arr2); //Compiler is insulted by this.
メソッドを機能させるには、配列を整数配列に変換する必要があると思いますが、メソッドがこれをどのように処理するかについて、メソッドを少しスマートにする方法はありますか?
Javaチュートリアルサイトには次のものがあります。
static <T> void fromArrayToCollection(T[] a, Collection<T> c) {
for (T o : a) {
c.add(o); // Correct
}
}
これは機能しますが、メソッドでArrayListを作成したいと思います。
また、これは私自身の娯楽のためだけなので、コレクションのタイプは実際には重要ではありません。メソッドを作成するときにArrayListを使用しました。
ありがとう