日期:2014-05-18  浏览次数:20781 次

侠哥们帮看看,if(s==null) 和 (null==s)有什么区别
String s = "abcde";
if(s==null) 和 if(null==s) 这两个有什么区别啊??

有什么优点和缺点,一般用哪个啊???

------解决方案--------------------
str==null 和nul==str是一样的,但是如果是字符串的话就应该使用"xx".equals(str) 比 str.equals("xx")严谨点,应该如果str=null的话,str.equals("xx")会报错而"xx".equals(str)正确。

Java code

        String a=null;
        
        if(a==null)    System.out.println("YY");
        
        if(null==a) System.out.println("yy");
        
        
        if("aa".equals(a)) System.out.println("XX");
        
        if(a.equals("a")) System.out.println("xx");

------解决方案--------------------
null==s 这种形式会好一些。因为在C和C++时代,逻辑符号(==)经常会弄错为(=)。这样if里面的值衡为true,并且变量会被复制。如果是null == s这种情况则不会发生。因为null是常量,不能被赋值
------解决方案--------------------
str==null 和nul==str是一样的,但是如果是字符串的话就应该使用"xx".equals(str) 比 str.equals("xx")严谨点,应该如果str=null的话,str.equals("xx")会报错而"xx".equals(str)正确。


------解决方案--------------------
空指针异常,你们都写过程序没?
根本没什么区别 都是瞎鸡巴扯淡