Stirng s;
if(s == null || s.equals("")) 和 if(null == s || "".equals(s)) 我喜欢用前一种方式  也看到有人用后一种 不知道那个好

解决方案 »

  1.   

    这两个条件放一起,就无所谓,单独的话,有点说道。
    s == null 和 null == s基本没有区别。
    单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。
      

  2.   

    s == null 和 null == s基本没有区别s=null,s.equals("")会抛异常,而"".equals(s)不会
      

  3.   

     if(null == s || "".equals(s)) 
    防止 在if语句中写成 s = null
      

  4.   

    4楼说的很明确了s == null 和 null == s没有区别。
    单独运行s.equals("")和"".equals(s)时,如果s=null,s.equals("")会抛异常,而"".equals(s)不会。
      

  5.   

    LZ說的問題大家沒看明白嗎?為什麽要拆分開來解釋?有意思嗎?lz問的是放在一起有沒有區別,而不是大家想的會報NUllPointer,lz不傻。
      

  6.   

    如果只是判断是否为"",那么后面的写法更好,这样防止s为空的时候出现异常。
    不过你这个的话就没必要的,因为前面已经判断是否为null了。
    所以后面的不会出现异常什么的。
      

  7.   

    根据条件选择,||为第一个条件如果为true那么就不会去判断第二个条件。
    所以说,如果对判断结果的概率有一定的估计,那么可以把经常为true的放前面比较好。
      

  8.   

    效果一样。放在前面只是为了防止写成 obj=null
      

  9.   

    null == s这样写主要是为了防止写成null=s而犯的错误
      

  10.   

    学习了,这些东东平时在开发中真的不怎么注意,按照习惯来写,如果是判断是否为空s== null && s.trim().length() == 0.
      

  11.   

    null == s 好,
    因为不小心会写成s = null。。
      

  12.   

    这不光是习惯的问题啊,前面的写法是有潜在错误的,
    Stirng s;
    if(s == null || s.equals("")),s为null的时候, s.equals("")会跑出空指针异常。
    所以要后面那种写法。
      

  13.   


    s == null 就不走后面的s.equals("")了,又如何能抛出空指针?
      

  14.   

    if( s==null || "".equals(s)) 
     這種最後 因為習慣了 
      

  15.   

    后者更好。可以防止空指针。
    推荐使用StringUtils.isNotBlank(String str)。需要导入common-utils.jar 
      

  16.   

    一般是为了判断等值的时候,比如:if ("condition1".equals(s)) {
        ......
    } else if ("condition2".equals(s)) {
        ......
    } else if ("condition3".equals(s)) {
        ......
    } else {
        throw new Exception("错误操作");
    }这样呢,避免了关于null的判断对于你的这条语句,采用哪个都差不多。
      

  17.   

    String 的问题在 CSDN 比月经还要月经一些问题翻着花样问来问去!
      

  18.   


    楼主:根据你这个问题,我们做一个分析,分析好了!你看看你采用前一种还是后一种,第一种:if(s==null || s.equals("")) 这个,首先我们来确定一下,如果你在s==null的时候,一步小心,把“==”写成了“=”的话,你想它什么?现在编译工具还好,在编译的时候就提示。此处判断的boolean类型的值,如果有些工具,他没在你编译的时候提示你这样写不行的话,在你编译好了!在提示你!那你岂不是很悲剧,还s.equals("")这句,这种写好,我不推荐你!因为,当你s为null话,你在去调用equals这个方法,肯定会报空指针异常的,null是没有equals方法的。第二种:if(null == s || "".equals(s))   null 放在前面有一个好处就是jvm在解析的时候,第一点,它已经明确的知道,你需要判断的null值,也就不用去关心你s是不是null引用了!它只关心,你是null就行了,  "" 放在equals 前面,很大程度上防止了!空指针的异常发生!
      
      

  19.   

    “null == s”这个好。因为不会因为写错而出现问题。
      

  20.   

    不会答的就不要乱答。楼主听我的。空值放在前面。其实只要你自己写个小的程序debug就明白其中的道理。所谓师傅领进门,修行靠个人。一切靠你自己。
      

  21.   

    StringUtil.isNil(arg0)用这个 是不是不用做两个判断了
      

  22.   

    俺都是用工具类里的方法。比如apache的啥xixi
      

  23.   

    s.equals("")这种前后位置没什么关系,
    null == s主要是这种,,如果写成s=null,,,当你执行程序的时候,如果s本身就为null,那么这时候会报一个空指针的错误,,所以还是推荐null == s
      

  24.   

    后面一种方法好
    if(null == s)
    因为s是传递过来的参数
    要是s直接传递过来的是空等等一些未知的不合法
    那么式子会报错所以建议使用后面一种方法