在实际项目开发过程,存在大量的数据结构转换问题,而集合和数组的转换比较特殊,写法多样,开发者需要特别注意!!!
1.List转Array
例如存在如下的集合数据List<Long>:
List<Long> idList
= detailListOld.stream().map(SuppliesApplyDetail::getId).collect(Collectors.toList());
- 转换写法1(以下两种写法均可以):
Long[] longArray = idList.toArray(new Long[0]);
Long[] longArray = idList.toArray(new Long[idList.size()]);
- 转换写法2(使用java8的新特性):
Long[] idArray = idList.stream().toArray(Long[]::new);
2.Array转List
例如存在如下的数组数据String[] strArray:
String[] strArray = new String[]{"english","math","chinese"};
- 转换写法(需要注意的是基本类型不能直接转换,需要转成对应包装类再做处理):
List<String> strList = Arrays.asList(strArray);