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)