objectUtils 使用可能会出现的问题
当一个类没有实现toString方法的时候,objectUtils会通过调用object的toString方法对对象实例化,所以objectUtils.isEmpty可能会对为空的对象返回false
例如:
String s1 = ObjectUtils.identityToString(null);
String s2 = ObjectUtils.identityToString("");
String s3 = ObjectUtils.identityToString(Boolean.TRUE);
System.out.println(s1); // null
System.out.println(s2); //java.lang.String@73a80183
System.out.println(s3); //java.lang.Boolean@1afb7ac7
推荐使用:
判断对象为空直接使用null ,判断字符就用string
public static boolean isNullOrEmpty(Object obj){
return obj ==null || “”.equals(obj.toString())
}
public static boolean isEmpty(String str ) {return str==null || str.length() ==0;}