一、apache.commons.lang3中有关判断空值
ObjectUtils: 对象判断
public static boolean isEmpty(final Object object); // 支持一下类型:CharSequence、Array、Collection、Map
public static T defaultIfNull(final T object, final T defaultValue); // 返回一个默认值,如果传入的对象为null
public static T firstNonNull(final T… values); // 返回传入的数组中第一个非null的对象
public static T getFirstNonNull(final Supplier… suppliers); // 返回传入的suppliers中第一个非null的,调用supplier.get()
public static T getIfNull(final T object, final Supplier defaultSupplier); // 如果object不为null,则返回,否则判断defaultSupplier
public static boolean anyNotNull(final Object… values); // 如果有一个非null,则返回true
public static boolean allNotNull(final Object… values); // 如果都非null,返回true
StringUtils: 字符串判断
public static boolean isEmpty(final CharSequence cs); // 检查字符序列是否为null或者""。不会做trim。
public static boolean isBlank(final CharSequence cs); // 检查字符序列是否为null或者""。会做trim。
public static boolean isAnyEmpty(final CharSequence… css); // 任何一个序列是null或者"",返回true。(Blank同理)
public static boolean isAllEmpty(final CharSequence… css); // 所有的序列是null或者"",返回true。(Blank同理)
ArrayUtils: 数组判断
public static boolean isEmpty(final int[] array); // 检查一个数组是否为空
public static int[] nullToEmpty(final int[] array); // 如果数组是空或者null,返回一个空数组
CollectionUtils: 集合判空
public static boolean isEmpty(Collection coll); // 检查集合是否为空
二、spring framework中有关判断空值
CollectionUtils: 集合判空
public static boolean isEmpty(@Nullable Collection<?> collection);
StringUtils: 字符串判断
public static boolean isEmpty(@Nullable Object str);
三、jdk中有关判断空值
Optional类中的相关的方法,比如:
Optional // 可能包含也可能不包含非空值的容器对象。
public boolean isPresent(); // 如果值出现返回true,否则false
public static Optional ofNullable(T value); // 返回一个Optional对象,如果value是non-null,否则返回一个空Optional
public static Optional of(T value); // 用non-null的value返回一个Optional
// 配合 public T orElse(T other) 还有其他的方法
Objects:空判断
public static boolean isNull(Object obj);
public static boolean nonNull(Object obj);
public static T requireNonNull(T obj);
public static T requireNonNull(T obj, String message); // 比如:this.bar = Objects.requireNonNull(bar, “bar must not be null”);
public static T requireNonNull(T obj, Supplier messageSupplier); // 检查是否为空,并抛出一个自定义异常