使用 commons-beanutils 工具类
1.依赖
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
具体使用
//long[] 数组转 Long[] 数组
long[] lon = new long[]{1L, 2L, 3L};
Long[] convert = (Long[]) ConvertUtils.convert(lon, Long[].class);
for (Long item : convert) {
System.out.println(item);
}
List to Array
// List to Array
List list = ImmutableList.of("1", "2", "3", "4", "5", "6");
String[] objects = (String[]) list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(objects));
// 或则使用 stream
String[] ss = listStrings.stream().toArray(String[]::new);
Array to List
asList
方法转化的数组是不可以有 add、remove 操作。此外,如果转化的对象是基础数据类型,整个充当一个 list 元素
Long[] loo = new Long[]{1L, 2L, 3L, 4L, 5L};
List<Long> longs = Arrays.asList(loo);
一般写法:
// guava写法
List long2 = Lists.newArrayList(loo);
// JDK写法
List long2 = new ArrayList(Arrays.asList(loo));
// stream 写法
List<String> listStrings = Stream.of(arrays).collector(Collectors.toList());
当然也可以新建一个集合,把Arrays.asList转化后的集合通过集合addAll()
或则Collections.addAll()
添加到集合里。
集合排除空字符串或则Null
使用 JDK Collections
返回结果为 1
List list = Lists.newArrayList();
list.add("");
list.add(null);
list.add(1);
list.removeAll(Collections.singletonList(""));
list.removeAll(Collections.singletonList(null));
list.forEach(System.out::println);
使用 guava
// guava集合去空记录
List<String> gg = Lists.newArrayList();
gg.add("");
gg.add("");
gg.add("kjlj1");
gg.removeIf(item -> StringUtils.isEmpty(item));
System.err.println(Joiner.on(",").join(gg));
使用 JDK8
// jdk1.8去空集合记录
List<String> collect = gg.stream().filter(item -> {
return !StringUtils.isEmpty(item);
}).collect(Collectors.toList());
System.err.println(Joiner.on(",").join(collect));