ObjectUtils 和 Objects

 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)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章