很多情况下,后台会校验前端传过来的字符串是否为空,本人也看了很多初学者的代码,逻辑都不是很严谨,有很多种情况:
String str = " "; //第一种错误情况 if (!"".equals(str) || str != null) { } //第二种错误情况 if (str != null || !"".equals(str)) { } //第三种错误情况 if (str != null || str.length() != 0) { }
很多人都出现了上面3种情况的一种
第一种错误是最低级的,如果str = null,那么程序将会报空指针
第二种和第三种情况虽然不会报错,但是无法做到准确校验空字符串,如果字符串本身就是一串空格,将不会被拦截到
比较成熟的写法如下:
if (str != null || !"".equals(str.trim())) { //则字符串不为空或空格 }