做58网站空调维修接单怎么样,幻灯网站源码,在线一键生成网页,自己可以做网站首先#xff0c;我们在看到集合转数组的时候可能第一个想到的就是toArray(),但是我们在调用 toArray()的时候#xff0c;可能会遇到异常 java.lang.ClassCastException#xff1b;这是因为 toArray()方法返回的类型是 Obejct[]#xff0c;如果我们将其转换成其他类型#…首先我们在看到集合转数组的时候可能第一个想到的就是toArray(),但是我们在调用 toArray()的时候可能会遇到异常 java.lang.ClassCastException这是因为 toArray()方法返回的类型是 Obejct[]如果我们将其转换成其他类型可能就会抛出异常。 这是因为 Java并不支持向下转型。
方法一通过遍历将集合中的元素一个个取出来放进数组里。 ListInteger list new ArrayList();list.add(1);list.add(2);list.add(3);int[] res new int[list.size()];for(int i 0; i list.size(); i){res[i] list[i];}方案二通过泛型实现转换 ListInteger list new ArrayList();Collections.addAll(list, 1,2,3,4,5,6);Integer[] nums new Integer[list.size()];nums list.toArray(nums);for(Integer n:nums){System.out.println(n);}
但是通过toArray()不能直接将List对象转换为一般类型的数组。
方案三使用stream()流 ListInteger list new ArrayList();Collections.addAll(list, 1,2,3,4,5,6);int []numsnew int[]{1,2,3};//ListInteger 转 int[] int[] arr1 list.stream().mapToInt(Integer::valueOf).toArray();// int[] 转 ListInteger ListInteger list1 Arrays.stream(nums).boxed().collect(Collectors.toList());
参考文章List的toArray()方法_list.toarray_皮卡西的博客-CSDN博客