java 判断字符串是否为空

四种判断为空表示方式:

1、str == null;
2、"".equals(str);
3、str.length() == 0;
4、str.isEmpty();

代码中的四种不为空的运用:

if(str != null && !"".equals(str));//效率相对较低
if(str != null && str.length() > 0); //推荐使用,效率高
if(str != null && !str.isEmpty());//java se 6.0 后出现,出于兼容性的考虑,最好不用
if(str != null && str != "");//效率和二、三差不多(个人不太推荐,前几天写一个业务进行判断后,调试发现str = "",但是还是进入了判断函数,后面换成了方法二,具体原因一直没搞明白)

//后面三种效率都差不多,但综合考虑,根据长度判断字符串是否为空比较好

代码中的四种为空的运用:

if(str == null || "".equals(str)); 
if(str == null || str.length() <= 0);
if(str == null || str.isEmpty());
if(str == null || str == ""); //字符串比较不推荐用‘==’

str == null要放在判断前面的原因:

  1. null 是一个对象的值,非字符串,String str = null,表示声明一个字符串对象的引用,指向为null,此时没有指向任何内存空间。
  2. ""是一个为空的字符串,长度为0,String str = “”,表示声明一个字符串类型的引用,指向的是空字符串的内存空间。
  3. 如果str = null,但是没有放到判断前面,此时操作str.length()和.equals()就会抛出java.lang.NullPointerException异常

参考博客:
Java空字符串与null的区别和判断字符串是否为空的方法
判断字符串String是否为空问题

你可能感兴趣的:(Java)