java 8 中的实用技巧

1 判断2个对象是否相等

Objects.equals(a, b)

(1) 比较时, 若a 和 b 都是null, 则返回 true, 如果a 和 b 其中一个是null, 另一个不是null, 则返回false。注意:不会抛出空指针异常。

(2) a 和 b 如果都是空值字符串:"", 则 a.equals(b), 返回的值是true, 如果a和b其中有一个不是空值字符串,则返回false;

2 JAVA 7 的 null 检查,方便追踪异常

java 8 中的实用技巧_第1张图片

3 JAVA 8 的非空判断

Objects.nonNull(Object obj) 非空判断

Objects.isNull(Object obj) 空判断

4 字符串的超常用的处理

(1)拼接多个字符串

java 8 中的实用技巧_第2张图片

String.join(",", picUrls) 可以为一个集合类型

String.concat()单个拼接

(2)流式处理法:将集合字符串类型转进行拼接

customerGroup.setOwnerName(customers.stream().filter(s -> CustomerIdentityEnum.OWNER.itemCode.equals(s.getType())).map(Customer::getName).collect(Collectors.joining(Constant.COMMA_DELIMITER)));

(3)反操作:将字符串拆解为集合类型(以逗号分割的String)

流式处理法:

Set ids = Arrays.stream(candidateIds.toString().split(",")).filter(a -> StringUtils.isNotBlank(a)).collect(Collectors.toSet());

函数法:

List result = Arrays.asList(string.split(","));

java 8 中的实用技巧_第3张图片

(4)字符串工具类

org.apache.commons.lang3.StringUtils;

非空判断 。。。。 等等

StringUtils.isNotBlank(wfTaskDTO.getExecuteEmployeeId())

当然返回给前端的字符串可以通过注释来解析。

5 对于返回的option 对象的处理

在使用流操作后返回的数据对象:

java 8 中的实用技巧_第4张图片
java 8 中的实用技巧_第5张图片

6 stream 流运算

可以针对map,List集合 ,数组 创建stream 流; 可以进行操作;

java 8 中的实用技巧_第6张图片

ps: 当你在使用一些常用的工具时,不要想着去重复造轮子,而要去查一下是否已经有了轮子,大部分通用的工具类都有轮子,比如hutool 工具。

你可能感兴趣的:(项目实战经验分享,java)