问题在
intList = new ArrayList<Integer>(Arrays.asList(intArray));
是,
int[]被认为是一个单一的
Object,因为基本数组从延伸实例
Object。如果你有这样的工作
Integer[],而不是
int[]因为现在你要发送的数组
Object。
Integer[] intArray = new Integer[] { 0, 1 };//now you're sending a Object arrayintList = new ArrayList<Integer>(Arrays.asList(intArray));
根据您的评论:如果您仍然想使用一个
int[](或另一个原始类型的数组)作为主要数据,那么您需要使用wrapper类创建一个附加数组。对于此示例:
int[] intArray = new int[] { 0, 1 };Integer[] integerArray = new Integer[intArray.length];int i = 0;for(int intValue : intArray) { integerArray[i++] = intValue;}intList = new ArrayList<Integer>(Arrays.asList(integerArray));
但是由于您已经在使用
for循环,所以我不介意使用临时包装器类数组,只需将您的项目直接添加到列表中:
int[] intArray = new int[] { 0, 1 };intList = new ArrayList<Integer>();for(int intValue : intArray) { intList.add(intValue);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)