JAVA中String非空判断方法总结 及 isEmpty() 的坑点,StringUtils | 您所在的位置:网站首页 › string类型不为空 › JAVA中String非空判断方法总结 及 isEmpty() 的坑点,StringUtils |
常用非空判断方法
String为空的三种状态:null, ""和new String(), 判断某字符串为空的标准是 str==null 或 str.length()==0, 非空判断一 导包:import org.apache.commons.lang3.StringUtils; lang3 或lang包 或:import org.springframework.util.StringUtils; If(!StringUtils.isEmpty(c)){ 执行代码 } If(StringUtils.isNotEmpty(c)){ 执行代码 } 非空判断二 if(str!=null&&str.length()>0) { 执行代码 } 非空判断三 if(null != str && !"".equals(str)) { 执行代码 } String.isEmpty() 方法使用的坑点 !str.isEmpty() 这个里面有一个坑点: String的isEmpty()方法,在String为null的时候,会出现空指针异常!!!! 因为,”” 和 new String(),会有占位符,也就是创建了对象,而null的时候,String 不会创建占位符。 ————–更通俗的说就是:”” 和new String() 的时候,String是有长度的,只是长度为0,而null没有长度。 测试程序 import org.apache.commons.lang.StringUtils; public class test { public static void main(String[] args) { String a = null; String b = ""; String c = new String(); System.out.println(!a.isEmpty()); //报错java.lang.NullPointerException System.out.println(!b.isEmpty()); //false System.out.println(!c.isEmpty()); //false System.out.println("======================="); System.out.println(a!=null&&a.length()>0); //当null进行判断时,前半部分已经判断为false,所以后半部分不会报错 System.out.println(b!=null&&b.length()>0); System.out.println(c!=null&&c.length()>0); System.out.println("======================="); System.out.println(null!=a && !"".equals(a)); System.out.println(null!=b && !"".equals(b)); System.out.println(null!=c && !"".equals(c)); System.out.println("======================="); System.out.println(!StringUtils.isEmpty(a)); System.out.println(!StringUtils.isEmpty(b)); System.out.println(!StringUtils.isEmpty(c)); } }
|
CopyRight 2018-2019 实验室设备网 版权所有 |