[英]Android creates incorrect array list with method Arrays.asList
我有數組
int[] pressed= new int[]{1,2,3};
List pS = Arrays.asList(pressed);
我期望pS將包含具有1,2,3值的整數數組,但是它包含具有一個元素的數組,該元素是{1,2,3}的數組
嘗試調用Arrays.asList(1,2,3);
。 var-arg方法asList()
將原始數組視為一個對象,並創建一個由它組成的列表。 對於引用類型,這不應發生。
或者,將pressed聲明為Integer[]
。
在Java中,無法使用基本類型作為泛型。 如果您無法將int []更改為Integer [] ,則必須通過自己添加所有項目來進行轉換,如下所示:
public class ArrayUtil {
public static ArrayList<Integer> asList(int[] array) {
ArrayList<Integer> list = new ArrayList<Integer>();
if(array != null){
for(int i=0; i<array.length; ++i){
list.add(array[i]);
}
}
return list;
}
}
並稱之為:
List pS = ArrayUtil.asList(pressed);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.