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();

  

posted @ 2019-07-18 16:46  ZJPang  阅读(271)  评论(0编辑  收藏  举报