我有一种将数组转换为 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 的方法。
另外,这只是我自己的娱乐,所以Collection的类型并不重要,我在编写方法时只是使用了ArrayList。
谢谢