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)

 

posted on 2019-11-22 11:14  FuYingju  阅读(403)  评论(0编辑  收藏  举报