HUX布斯
如果你用爪哇-8还有另外一种方法。int[] arr = list.stream().mapToInt(i -> i).toArray();它所做的是:得到一个Stream<Integer>从名单上获得IntStream通过将每个元素映射到自身(标识函数),将int每个人持有的价值Integer对象(自Java 5以来自动完成)的数组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]