说明:
关于null和""的区别:
(1) null表示不指向任何东西,调用的话会报空指针异常; 空字符串""表示一个长度为0的字符串,调用是安全的;
(2) null 不是对象,空字符串是对象,所以null没有分配空间,而空字符串分配了空间。空字符串代表了一个实例化的对象。
注意:在判断字符串是否为空时,应先判断是否为对象,是的话再判断是否为空字符串。
如果str = null, 则if (str == null || str.equals("")) ;而 if (str.equals("") || str ==null)的写法是错误的,可能会报空指针异常。
Java判断字符串是否为空的四种方法:
方法一:if (str == null || "".equals(str))直观,方便,效率低;
方法二:if (str == null || str.length()<=0) 效率高
方法三:if (str == null || str.isEmpty())效率高
方法四:if (str == null || str == "")直观,简便,效率高
由于第三种方法是java SE 6.0以后才得到应用的,在早期的版本中运行可能会出现兼容性问题,推荐使用方法二、方法四。