如何將包含整數(shù)的ArrayList轉(zhuǎn)換為原始int數(shù)組?我試圖用下面的代碼將包含Integer對象的ArrayList轉(zhuǎn)換為原始int[],但是它會引發(fā)編譯時錯誤。可以用Java進行轉(zhuǎn)換嗎?List<Integer> x = new ArrayList<Integer>();
int[] n = (int[])x.toArray(int[x.size()]);
3 回答

千巷貓影
TA貢獻1829條經(jīng)驗 獲得超7個贊
public static int[] convertIntegers(List<Integer> integers){ int[] ret = new int[integers.size()]; for (int i=0; i < ret.length; i++) { ret[i] = integers.get(i).intValue(); } return ret;}
integers
null
.)
LinkedList
:
public static int[] convertIntegers(List<Integer> integers){ int[] ret = new int[integers.size()]; Iterator<Integer> iterator = integers.iterator(); for (int i = 0; i < ret.length; i++) { ret[i] = iterator.next().intValue(); } return ret;}

HUX布斯
TA貢獻1876條經(jīng)驗 獲得超6個贊
int[] arr = list.stream().mapToInt(i -> i).toArray();
得到一個 Stream<Integer>
從名單上 獲得 IntStream
通過將每個元素映射到自身(標識函數(shù)),將 int
每個人持有的價值 Integer
對象(自Java 5以來自動完成) 的數(shù)組 int
打電話 toArray
intValue
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
NullPointerException
null
//.filter(Objects::nonNull) also worksint[] arr = list.stream().filter(i -> i != null).mapToInt(i -> i).toArray();
List<Integer> list = Arrays.asList(1, 2, 3, 4);int[] arr = list.stream().mapToInt(i -> i).toArray(); //[1, 2, 3, 4]list.set(1, null); //[1, null, 3, 4]arr = list.stream().filter(i -> i != null).mapToInt(i -> i).toArray(); //[1, 3, 4]

侃侃無極
TA貢獻2051條經(jīng)驗 獲得超10個贊
import org.apache.commons.lang.ArrayUtils;... List<Integer> list = new ArrayList<Integer>(); list.add(new Integer(1)); list.add(new Integer(2)); int[] intArray = ArrayUtils.toPrimitive(list.toArray(new Integer[0]));
- 3 回答
- 0 關注
- 569 瀏覽
添加回答
舉報
0/150
提交
取消