ObjectUtils
org.apache.commons.lang3.ObjectUtils
- 如果传递的对象是 null,则返回defaultValue
public static <T> T defaultIfNull(final T object, final T defaultValue)
- 返回参数中第一个不是null的值,如果都是null,则返回null
public static <T> T firstNonNull(final T... values)
代码:
ObjectUtils.firstNonNull(null, null) = null ObjectUtils.firstNonNull(null, "") = "" ObjectUtils.firstNonNull(null, "zz") = "zz" ObjectUtils.firstNonNull("abc", *) = "abc" ObjectUtils.firstNonNull(null, "xyz", *) = "xyz" ObjectUtils.firstNonNull() = null
- 参数中只要有一个不是null,都返回true
public static boolean anyNotNull(final Object... values)
- 所有参数必须都不是null才返回true
public static boolean allNotNull(final Object... values)
Objects
java.util.Objects
- 判断两个对象是否相等(不会抛出空指针异常)
public static boolean equals(Object a, Object b)
- 深度比较两个对象
public static boolean deepEquals(Object a, Object b)
代码:
String[] str1 = {"1","2","3"}; String[] str2 = {"1","2","3"}; userInfo.setCity("长春"); stafInfo.setCity("长春"); System.err.println(Objects.equals(str1, str2)); //false System.err.println(Objects.deepEquals(str1, str2)); //true System.err.println(Objects.equals(userInfoBo.getCity(),stafInfo.getCity())); //true System.err.println(Objects.deepEquals(userInfoBo.getCity(),stafInfo.getCity())); //true
- 返回指定对象的字符串表示形式。如果参数为空对象null,则返回字符串 null
public static String toString(Object o)
- 返回指定对象的字符串表示形式。如果参数为空对象null,则返回第二个参数nullDefault所指定的对象
public static String toString(Object o, String nullDefault)
- 判空方法,如果参数为空则返回true(JDK8)
public static boolean isNull(Object obj)
- 判断非空方法,如果参数不为空则返回true(JDK8)
public static boolean nonNull(Object obj)
- 判断是否为null,如果为null则为空,否则返回参数
public static <T> T requireNonNull(T obj)