String判断非空最全解析

在校验一个String类型的变量是否为空时,通常存在3中情况:

  1. 是否为 null
  2. 是否为 ""
  3. 是否为空字符串(引号中间有空格)  如: "     "。

trim() 方法会从一个字符串的两端删除空白字符

常用非空判断方法

String为空的三种状态:null, ""和new String(),

判断某字符串为空的标准是 str==null 或 str.length()==0,

非空判断一

if(str!=null&&str.length()>0) { 执行代码 }

非空判断二

if(null != str && !"".equals(str)) { 执行代码 }

非空判断三 

导包:import org.apache.commons.lang3.StringUtils; 

或:import org.springframework.util.StringUtils;

If(!StringUtils.isEmpty(c)){ 执行代码 }

If(StringUtils.isNotEmpty(c)){ 执行代码 }


 

String.isEmpty() 方法使用的坑点

String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用string.isEmpty()会报空指针异常(NullPointerException)判断一个String为空的最安全的方法,还是string ==null || string.isEmpty() 

因为,"" 和 new String(),会有占位符,也就是创建了对象,而null的时候,String 不会创建占位符。

更通俗的说就是:”” 和new String() 的时候,String是有长度的,只是长度为0,而null没有长度。

非空判断四

if(string!=null && !string.isEmpty() ) { 执行代码 }

非空判断五(最全面,安全的方法)

if( string!=null && !string.isBlank()  ) { 执行代码 }
或者用方法三: StringUtils.isEmpty()

StringUtils的 isEmpty(String str) 和isBlank(String str)

  1. isEmpty(str)仅仅是判断和长度为0字符串
  2. isBlank(str)判断的是,长度为0,空白字符(包括空格,制表符\t,换行符\n,换页符\f,回车\r)组成的字符串。

String的 isEmpty() 和isBlank()

  1. isEmpty仅仅是判断长度为0字符串
  2. isBlank判断的是长度为0,空白字符(包括空格,制表符\t,换行符\n,换页符\f,回车\r)组成的字符串。

 

 

 

 

你可能感兴趣的:(class,java)