我们在实际开发过程,遇到就常见的异常一般都会是空指针问题,这个问题一直困扰着很多开发者。也许一段看似没有任何问题的代码,在运行过程中往往通过字符串或者list集合空给我们抛出异常。
下面是我个人简单封装的一段防止null的工具类,希望大家多多指教。
import java.util.ArrayList; import java.util.List; import java.util.Optional;
/** * null转为空,工具类 * */ public class OptionalUtil { private static final boolean TYPE_BOOLEAN = true; /** * 比较字符串是否相等 true 相等 false 不相等 * */ public static boolean stringBoolean(String saleTypeStr,String boolStr){ return Optional.ofNullable(saleTypeStr).filter(boolStr::equals).map(o -> TYPE_BOOLEAN).orElse(false); } /** * 判断list是否为null,如果为null转换为空 * */ public static<T> List<T> getListIsNotNull(List<T> list) { List<T> ts = Optional.ofNullable(list).orElse(new ArrayList<>()); return ts; } /** * 判断String是否为null,如果为null转换为空 * */ public static String getStringIsNotNull(String str) { return Optional.ofNullable(str).orElse(""); } }