这时候就需要使用另一个版本的toArray()方法,该方法接收一个参数,用于指定要转换成的数组的类型。 List<Integer>list=newArrayList<>();list.add(1);list.add(2);list.add(3);Integer[]array=list.toArray(newInteger[list.size()]); 1. 2. 3. 4. 5. 6. 在上
通过stream().mapToInt(Integer::intValue).toArray(),可以很方便地将List<Integer>转换为int[]。 java import java.util.Arrays; import java.util.List; public class ListToIntArrayStream { public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 2, 3);...
List<Integer> res = new ArrayList<>(); int[] a = res.toArray(new int[0]); 1. 2. 有的朋友可能会觉得上面这段代码没什么问题,可以编译通过;有的朋友可能一眼就看出了问题,说:toArray()传入的参数类型不对,不能为基本类型! 的确,上面这段代码不能编译通过,在IDEA中会报错: 原因是: toArray(T[...
再次执行代码,结果就会抛出ArrayStoreException异常,这个异常表明这里并不能把一个Integer类型的对象存放到这...
1. 将int[]转换为Integer[] 可以使用Stream和boxed方法来实现: importjava.util.Arrays;publicclassMain{publicstaticvoidmain(String[] args){int[] intArray = {1,2,3,4,5}; Integer[] integerArray = Arrays.stream(intArray).boxed().toArray(Integer[]::new); ...
从这个小实验里面,可以看出确实toArray()返回的是一个新的数组对象,并且多次执行toArray()方法获得的是不同的数组对象,并且对其中一个数组进行修改,不会影响到其他toArray()方法获得的数组,并且也不会影响到list本身原来存储的元素值。 这儿存在一个问题,list中存储的是基本类型int的包装类型Integer,如果换成其他的...
问用java实现从ArrayList<Integer>到Array的转换ENtoArray()方法将任何ArrayList转换为数组对象->Object[]...
public class IntegerToArray { public static void main(String[] args) { int number = 123456; int[] digits = getDigitsArray(number); // 输出数组 for (int digit : digits) { System.out.print(digit + " "); } } public static int[] getDigitsArray(int number) { ...
int[] integerAry = integerList.stream().mapToInt(Integer::intValue).toArray(); 同样可以将其他集合类型转换成stream流实现相同的效果,比如将上面的List换成Set集合,其实现代码是一模一样的。 Set<Integer> integerSet = new HashSet<>(Arrays.asList(1,2,3,2)); ...
也就是说,toArray()返回的数组是安全的,你可以对它进行任意的修改,其原因就是List不会去维持一个对该返回的数组的引用。 下面是对基本数据类型:Integer测试 public static void main(String[] args) { List<Integer> list = new ArrayList<>();