关于"test".equals(param)与param.equals("test")的探讨
今天和PM争论了下这个问题我是这样写的param.equals("test"),PM说不行说要"test".equals(param)这样写,我也在网上搜了下都说要"test".equals(param)
public void test(String param){
//直接进入
if (true) {
//直接进入
if (true) {
//if ("test".equals(param)) {
if (param.equals("test")) {
//如果条件成里则执行方法
service.XX();
}
}
}
}
如果这样写param.equals("test")param传进来的为null的话在第三层if里面就抛
空指针异常,然后我们就可以根据异常快速定位问题的发生点。如果"test".equals(param)则什么都不会抛,我们无法知道他到底错在哪里了,我们则需要一步一步的跟着代码下来找问题。如果代码很长那么我们不是要找很久很久了么?
请教下各位是怎么看待这个问题的呢?
------解决方案--------------------
写个公共方法去校验就可以了,这样可以避免代码重复