背景
取值赋值的时候,经常需要判断这个值是不是非空。
如果为空,就给一个默认值(比如0);
如果非空,就取值。
普通写法
//查到了2个Integer类型的数据,number1 和 number2
//现在开始赋值
resultMap.put("number1", null == number1 ? 0 : number1 );
resultMap.put("number2", null == number2? 0 : number2);
不如封个工具类
package com.cn.demo.common.utils;
/**
* 一个优雅的工具类
*
* 当获取某个值的时候,需要判断是否为空。非空就取值,为空就取默认值。
* 为了简化代码,设计以下工具类
*
*/
public class ElegantUtils {
/**
* 判断是否为空,再返回原值or默认值
* @param param 待判断的值
* @param defaultValue 默认值。如果param为空,就返回默认值
* @param <V>
* @return
*/
public static <V> V judgeNullAndGetResult(V param, V defaultValue) {
return null == param ? defaultValue : param;
}
}
有了工具类之后
resultMap.put("number1", ElegantUtils.judgeNullAndGetResult(number1, 0));
resultMap.put("number2", ElegantUtils.judgeNullAndGetResult(number2, 0));