JAVA类型转换的那些坑儿
今天在做LeetCode的时候,遇到了一个类型转换的坑,在此记录一下。
https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/
两个数组的交集2
使用ArrayList保存交集数据后,需要return一个int类型的数组,但是ArrayList中保存的是Integer类型,在网路搜索一轮几乎都是举String作为例子来实行转换,如:
String[] strArr = null; strArr = strList.toArray(new String[strList.size()]); System.out.println(Arrays.toString(strArr));
但是这种方法对于int类型不起作用,起初在这里懵逼了很久,最后使用了最原始的方法,将ArrayList遍历一遍同时把数据存入新的数组中。
如:
int[] nums3 = new int[arrayList.size()]; for(int k = 0; k < arrayList.size(); k++){ nums3[k] = (int)arrayList.get(k); }
最终得以解决。
在网路上继续搜寻,发现了JAVA8可以使用stream来实现此功能:
int[] intArr = list.stream().mapToInt(Integer::intValue).toArray();