if(!(time1==null && time1.trim().equals("")))和
if(!(time1==null) && !(time1.trim().equals("")))
有什么区别

解决方案 »

  1.   

    if(!(time1==null && time1.trim().equals("")))
    等价于:
    if(!(time1==null) || !(time1.trim().equals("")))
    类似于:摩根定律
      

  2.   

    if(!(time1==null && time1.trim().equals("")))

    if(!(time1==null) && !(time1.trim().equals("")))
    的区别就是计算顺序的问题,但是两者的计算结果一样
       |-----------------------4-------------------------|
       |   |----------------------3------------------|   |
       |   | |-----1---|    |------------2--------|  |   |
    if(!   ( time1==null && time1.trim().equals("")  )   )
      |---------------------------------5------------------------|
      |  |---------2----|       |--------------4------------|    |
      |  |  |------1----|       |  |-------------3-------|  |    |
    if(  !  (time1==null)  &&   !  (time1.trim().equals("")  )   )
      

  3.   

    time1==null && time1.trim().equals("")
    有错!
    当time1==null 时,会有空指针异常。
    正确的写法是后者
    或者
    time1!=null && !time1.trim().equals("")