在下面的示例中,在设置变量runner
的值之前,将变量knockOut
设置为runner
对象。在为后续变量设置任何值之前,将变量设置为对象的好处是什么?任何帮助深表感谢。
CODE 1和CODE 2有什么区别吗?
代码1
runner = new runner();
knockOut.setrunner(runner);
if(fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT) != null
&& fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT).trim().length() > 0) {
String knockOutEvent = fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT);
runnerTypeEnum = null;
runner.setrunnerType(runnerTypeEnum.fromValue(knockOutEvent));
}
代码2
runner = new runner();
if(fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT) != null
&& fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT).trim().length() > 0) {
String knockOutEvent = fpmlMap.get(ABCConstants.KNOCK_OUT_EVENT);
runnerTypeEnum = null;
runner.setrunnerType(runnerTypeEnum.fromValue(knockOutEvent));
}
knockOut.setrunner(runner);
最佳答案
这样,无论以下knockOut
块的结果如何,runner
始终具有对if
的引用。
编辑
响应您的编辑:两个示例之间没有区别。两种方法均有效,并且产生相同的行为。
(这是假设上面的代码是“正常”的,并且做了合理的程序员期望做的事情。)
在上下文中使用时,您可以选择第一种样式来提高代码的可读性。但是,以我的经验,第二种风格更为常见。