在编程的时候,我总是喜欢这样比较,
String a="XXX";
String b="YYY";
第一比较是否为空时候
if(!a.equals("")&&a!=null){
//程序
}
或者
if(a.equals("")||a==null){
//
}
还有比较两个字符串是否为相等时候
if(a.equals(b)&&a==b){
//
}
if(!a.equals(b)||a!=null){}
这样有问题吗 ????
谢谢!
String a="XXX";
String b="YYY";
第一比较是否为空时候
if(!a.equals("")&&a!=null){
//程序
}
或者
if(a.equals("")||a==null){
//
}
还有比较两个字符串是否为相等时候
if(a.equals(b)&&a==b){
//
}
if(!a.equals(b)||a!=null){}
这样有问题吗 ????
谢谢!
解决方案 »
- [Java SE]我是Java新手,请教如何将String array数据导入到2D int array.
- 我在 读取 txt 文件按行 读取 我手动输入一个 回车 这个回车 也被按行读取了 并存入数据库了
- 在jsp中如何通过<a></a>链接释放session对象
- 一个简单问题,但就是弄不明白,希望各位可以帮我解答
- 一个关于this和finalize的问题
- Collection,Map,List,Set,iterator 之见的关系(越详细越好)
- 请问如何将数组的值输出到一个文件啊??
- 如何用javax.swing.jtree实现系统文件夹的树
- z-axix 专业的计算机书籍翻译与创作,欢迎加盟!
- 大家都来谈谈jbuilder5有那些新特性?
- 一个贴子(分并不重要)
- 怎样的java文件才算得上是servlet
null没有分配内存,值是不存在的关于equal和==的区别,楼上两位说的综合以下
String b="YYY";
类似这样的声明表明已经分配了空间,再用a==null来判断,显得多余
对于字符串,用==和用equals实际上是一样的。完全没有必要得用两次判断。
//程序
}
if(a.equals("")||a==null){
//
}
>>>>>>>
我一般这样写(请注意判断条件的顺序):
if(str != null && !str.equals("")) {
//do sth.
}if(str == null || str.trim().equals("")) {
//do sth.
}
把先后顺序调换的好处是,不会产生NullPointerException,而你那个写法会有这个可能,且对于是否==null的判断完全无意义
一般是先判断==null,如果是的话,后面的.equals("")就不会再判断了