1,关于null和""的区别:
(1) null表示不指向任何东西,调用的话会报空指针异常; 空字符串""表示一个长度为0的字符串,调用是安全的;
(2) null 不是对象,空字符串是对象,所以null没有分配空间,而空字符串分配了空间。空字符串代表了一个实例化的对象。
注意:在判断字符串是否为空时,应先判断是否为对象,是的话再判断是否为空字符串。
如果str = null, 则if (str == null || str.equals("")) ;而 if (str.equals("") || str ==null)的写法是错误的,可能会报空指针异常。
2,Java判断字符串是否为空的四种方法:
方法一:if (str == null || "".equals(str))直观,方便,效率低;
方法二:if (str == null || str.length()<=0) 效率高
方法三:if (str == null || str.isEmpty())效率高
方法二==>等价于StringUtils.isNotBlank(str)
如果前端传过来的是这样的字符串?如何判断
此事用方法二判断不够,因为这个字符串的长度不是0,而是2
此时正确判断方式为:
if (StringUtils.isNotBlank(quickvalue) && !"\"\"".equals(quickvalue)){
}