码迷,mamicode.com
首页 > 编程语言 > 详细

数组之间的转化

时间:2018-12-19 15:52:16      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:box   类型   数据类型   查看   失败   code   eof   obj   class   

//int[] 转Integer[]
Integer[] integers = Arrays.stream(nums1).boxed().toArray(Integer[]::new);


/**
 * int[] 转List<Integer> 去重
 * 遇到的问题:直接使用new HashSet<>(Arrays.asList(int[]))去重
 * 而int[]和Integer[]之间还有一层转换,所以去重失败
 * 通过debug模式查看,发现他会将int[]当成是一个object整体,存放到Set中
 */
List<Integer> list = Arrays.asList(integers);
Set<Integer> set = new HashSet(list);


/**
 * List<Integer>转int[]
 * 注意:转化的过程中,转换的基本数据类型要与引用数据类型保持一致
 */
int[] ints = list.stream().mapToInt(Integer::valueOf).toArray();

/**
 * List<Integer>转Integer[]
 */
Integer[] integers1 = list.stream().mapToInt(Integer::valueOf).boxed().toArray(Integer[]::new);

数组之间的转化

标签:box   类型   数据类型   查看   失败   code   eof   obj   class   

原文地址:https://www.cnblogs.com/lisongyu/p/10142897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!