巧用Pair处理return返回的结果是否为null
【摘要】
巧用Pair处理return返回的结果是否为null
1.前言
方法的返回值存在可能为null情况,通常的处理方式就是做个判断返回值有数据返回数据,为null就返回null。对于返回值存在两种结...
巧用Pair处理return返回的结果是否为null
1.前言
方法的返回值存在可能为null情况,通常的处理方式就是做个判断返回值有数据返回数据,为null就返回null。对于返回值存在两种结果可以使用Pair来处理。
2. Pair处理返回结果
2.1.数据封装对象
package com.bruce.hulk.common.testdemo;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* @author bruce
* @create 2020/4/21 19:37
*/
@Setter
@Getter
@ToString
@Builder
public class OrderDTO {
private String orderId;
private String orderInfo;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
2.2. Pair处理结果Demo
- 实现了判断对象是否为null,如果为null直接返回。不为null则执行业务逻辑,然后返回处理结果。
package com.bruce.hulk.common.testdemo;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.Objects;
/**
* @author bruce
*/
public class PairDemo {
private PairDemo(){
}
public static PairDemo of (){
return new PairDemo();
}
public <T> Pair<Boolean,ArrayList<OrderDTO>> getOrder(OrderDTO orderDTO) {
// 1.判断参数如果为null将Pair的Key设置为false,返回null
if (Objects.isNull(orderDTO)) {
return Pair.of(Boolean.FALSE,null);
}
// 2.参数不为null,就执行业务逻辑代码。将Pair设置为True,返回结果。
ArrayList<OrderDTO> objectList = Lists.newArrayList();
objectList.add(orderDTO);
return Pair.of(Boolean.TRUE,objectList);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
2.3. 调用Pair测试返回结果
package com.bruce.hulk.common.testdemo;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
/**
* @author bruce
*/
public class App {
public static void main(String[] args) {
//1.创建一个null对象
OrderDTO orderNul = null;
//2.创建不为null的对象
OrderDTO orderDTO = OrderDTO.builder()
.orderId("10010")
.orderInfo("联通客服电话")
.build();
//3.分别传入null和不为null对象,当传入null对象直接返回null,传入不为null对象返回orderDTO信息
Pair<Boolean, ArrayList<OrderDTO>> listPair = PairDemo.of().getOrder(orderDTO);
if (listPair.getLeft()) {
ArrayList<OrderDTO> orderInfo = listPair.getRight();
System.out.println("orderInfo = " + orderInfo);
} else {
System.out.println("orderDTO is null" + listPair.getRight());
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
2.4. Pair返回结果
orderInfo = [OrderDTO(orderId=10010, orderInfo=联通客服电话)]
- 1
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/105665806
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)