param.equals("test")这样写的话,如果param为null了,那么他是没有.equals方法的,所有会报空指针,"test".equals(param)    当然不会报错,  因为test和null比较  没有问题的

解决方案 »

  1.   

    我知道,我就是要他报异常不然我怎么知道问题出在哪里呢?"test".equals(param)不报错,程序一路直行下去if代码块里面的东西不会执行你也不知道。这是不是重大级BUG呢?
      

  2.   

    我知道,我就是要他报异常不然我怎么知道问题出在哪里呢?"test".equals(param)不报错,程序一路直行下去if代码块里面的东西不会执行你也不知道。这是不是重大级BUG呢?你的意思是如果param等于null的时候要报异常???  那你可以直接param == null 判断去扑捉这个异常,如果你想知道有没有进if里面的代码块,要加日志
      

  3.   

    我知道,我就是要他报异常不然我怎么知道问题出在哪里呢?"test".equals(param)不报错,程序一路直行下去if代码块里面的东西不会执行你也不知道。这是不是重大级BUG呢?你的意思是如果param等于null的时候要报异常???  那你可以直接param == null 判断去扑捉这个异常,如果你想知道有没有进if里面的代码块,要加日志
    这也是个办法,如果参数很多怎么办?
      

  4.   

    我知道,我就是要他报异常不然我怎么知道问题出在哪里呢?"test".equals(param)不报错,程序一路直行下去if代码块里面的东西不会执行你也不知道。这是不是重大级BUG呢?你的意思是如果param等于null的时候要报异常???  那你可以直接param == null 判断去扑捉这个异常,如果你想知道有没有进if里面的代码块,要加日志
    这也是个办法,如果参数很多怎么办?写个公共方法去校验就可以了,这样可以避免代码重复