我在一个Java项目中工作,我的代码显示了奇怪的行为.这是我的代码:
String access = String.valueOf(getStringvalue());
Boolean isBlank = StringUtils.isBlank(access);
在上面的代码中,“访问”对象可以具有空值.
据说如果将null值传递给StringUtils.isBlank(),它将返回true.但是在这里,当访问为null时,我仅返回false值.这种行为的原因是什么?
解决方法:
我也遇到了这个问题,在看到String.valueof()的源代码之后就找到了窍门.下面是String.valueof()的源代码.
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
因此,当您传递一个空对象时,您将获得一个“空”字符串.因此,您的StringUtils.isBlank()将其视为String而不是null对象,并且您将获得“ false”布尔值.
希望能帮助到你.!
标签:java
来源: https://codeday.me/bug/20191027/1946119.html