今天写代码发现一个判断字符串是否为空的问题
贴上我的代码:
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
本文出自 “qht” 博客,请务必保留此出处http://qht1003077897.blog.51cto.com/10055957/1702984