java取值防止null不报错优雅写法(四种写法对比)

在开发过程中经常会遇到调用一些方法可能收到null 的返回,我们可以使用Optional类来优雅处理
// 当getCount()返回null时会自动返回0且不报错,若使用of创建,遇到null值则会报错
Integer count = Optional.ofNullable(getCount()).orElse(0);

四中写法对比

public class TempTest {
    public Integer getCount() {
        return System.currentTimeMillis() % 2 == 0 ? null : 1;
    }

    @Test
    public void test2() {
        // 原始写法1
        Integer count1 = getCount();
        if (count1 == null) {
            count1 = 0;
        }
        System.out.println(count1);

        // 原始写法2
        Integer count2 = getCount();
        count2 = count2 == null ? 0 : count2;
        System.out.println(count2);
        
        // 原始写法缩写后版本
        Integer count3 = (count3 = getCount()) == null ? 0 : count3;
        System.out.println(count3);

        // optional写法
        Integer count4 = Optional.ofNullable(getCount()).orElse(0);
        System.out.println(count4);
    }
}
posted @ 2022-08-27 17:02  HumorChen99  阅读(31)  评论(0编辑  收藏  举报  来源