今天写代码发现一个判断字符串是否为空的问题

贴上我的代码:

if(!username.equals("")&&!userpassword.isEmpty()&&!phString.isEmpty()&&!userpassword2.isEmpty())


如上:如果此处phString这个字符串中什么也没有,则phString.isEmpty()这种方法去判断是否空会报空指针异常

当phString="51cto";时,phString.isEmpty()的返回值就是false;


也就是说这个方法的返回值为boolean型如果length()为0返回true,否则返回false.

但是这种方法兼容性并不好,也容易出错下面列举出几种常见的判断空方法:



方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.
方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.
方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
 
1:if(s == null || s.equals(""));
 
2:if(s == null || s.length() <= 0);
 
3:if(s == null || s.isEmpty());


参考自:http://blog.csdn.net/fengxuezhiye/article/details/7763384