org.apache.commons.lang3.ObjectUtils

apache的工具包有很多有用的功能。今天分享一个平时没有注意到,并且自己曾经多次重复造轮子的方法

defaultIfNull

如果对象为空,使用默认值来代替,源码:

public static <T> T defaultIfNull(final T object, final T defaultValue) {  
    return object != null ? object : defaultValue;  
}

使用示例

user.setGender(ObjectUtils.defaultIfNull(form.getGender(), "Male"));

firstNonNull

获取一系列对象中第一个非空的对象,源码:

public static <T> T firstNonNull(final T... values) {  
    if (values != null) {  
        for (final T val : values) {  
            if (val != null) {  
                return val;  
            }  
        }  
    }  
    return null;  
}

使用示例

// 问题展示的回答,首先选择推荐的,其次是采纳的,最后是按时间排序的第一个。
question.setShowAnswer(ObjectUtils.firstNonNull(recommendAnswer, acceptAnswer, firstAnswer));