1. 判空操作
1. 旧代码
if (obj !=null) {
System.out.println("不为空");
}
2. 新代码
if (Optional.ofNullable(obj).isPresent()) {
System.out.println("不为空");
}
2. 判空异常操作
1. 旧代码
if (obj ==null) {
throw new Exception();
}
2. 新代码
Optional.ofNullable(obj).isPresent().orElseThrow(() ->new RuntimeException(""));
3. 返回非空值
1. 旧代码
if (list == null) { return new ArrayList(); } return list;
2. 新代码
return Optional.ofNullable(list).orElse(new ArrayList());
4. 求最大值最小值
1. Integer ll = Stream.of(1,2,3,4,5).max(Integer::compareTo).get();
2. Integer ll = Stream.of(1,2,3,4,5).min(Integer::compareTo).get();
5. 去重操作
List <Integer> temp = list2.stream().distinct().collect(Collectors.toList());
6. 集合判空遍历操作
Optional.ofNullable(list2).orElse(new ArrayList()).forEach(user-> {});
7. 规约计算
IntSummaryStatistics status = list2.stream().mapToInt(i->i).summaryStatistics();
int max = status.getMax();
int min = status.getMin();
double sum = status.getSum();
double evg = status.getAverage();
long count = status.getCount();
System.out.println(max);
8. 筛选
long ss = list2.stream().filter(sz -> sz.equals(1)).count();
9. 排序
List<Integer> list3 = Stream.of(2,1,3,4,5).sorted().collect(Collectors.toList());
End
Optional类:
1. orElse: 存在即返回,无则返回默认值。
2. ofNullable: 存在即返回,无则由函数产生。
3. orElseThrow: 存在即返回,无则抛出异常。
4. ifPresent: 若对象不为空,则进行操作。
5. map:若对象存在,则进行转换。
6. filter:过滤条件,不符合条件,则返回null。
网友评论