java的String类判断null或空的方法
针对String字符串对象的判空和是否为null有三个方向:
- 直接比较。例如str == null或者str==""。
- java的String类自带的isEmpty()方法,如果对象为null,则不能使用该方法,会报空指针异常。
- StringUtils工具类的isEmpty和isBlank方法,与String类自带的isEmpty()区别见表格和代码。
- 工具类的isBlank方法是最全能的。
- 工具类的isEmpty不认为" "为空。
- String类的isEmpty无法对null进行判断,同时也不认为" "为空。
StringUtils.isEmpty | StringUtils.isBlank | str.isEmpty | |
"" | true | true | true |
" " | false | true | false |
nul | true | true | 报错 |
System.out.println("".isEmpty());//true
System.out.println(" ".isEmpty());//false
System.out.println(" 1111 ".isEmpty());//false
// System.out.println(null.isEmpty());//java.lang.NullPointerException
System.out.println("---------");
System.out.println(StringUtils.isEmpty(""));//true
System.out.println(StringUtils.isEmpty(" "));//false
System.out.println(StringUtils.isEmpty(" 1111 "));//false
System.out.println(StringUtils.isEmpty(null));//true
System.out.println("---------");
System.out.println(StringUtils.isNotEmpty(""));//false
System.out.println(StringUtils.isNotEmpty(" "));//true
System.out.println(StringUtils.isNotEmpty(" 1111 "));//true
System.out.println(StringUtils.isNotEmpty(null));//false
System.out.println("---------");
System.out.println(StringUtils.isBlank(""));//true
System.out.println(StringUtils.isBlank(" "));//true
System.out.println(StringUtils.isBlank(" 1111 "));//false
System.out.println(StringUtils.isBlank(null));//true
#基础知识##资料##八股文#