巧用Pair处理return返回的结果是否为null

举报
brucexiaogui 发表于 2021/11/25 23:07:03 2021/11/25
【摘要】 巧用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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。