最近,我们在工作中讨论了局部变量对 Java 代码的性能和可读性的影响。我的一些同事认为这样的声明
new DoSomethingCmd(new SelectionContext(context, keys), infoStuff.getCurrentRole().getRole_id()).execute(getResultContainer());
会给应用程序带来相当大的性能提升。他们愿意为此牺牲代码的可读性。他们声称这一点是对的吗?上面的版本是否比这个版本的性能要好得多?
final SelectionContext selectionContext = new SelectionContext(context, keys);
final String roleId = infoStuff.getCurrentRole().getRole_id();
final DeleteSomethingCmd deleteSomethingCmd = new DeleteSomethingCmd(selectionContext,roleId);
deleteSomethingCmd.execute(getResultContainer());
我意识到第一个语句本身并没有那么难以掌握,但是当您的大多数代码都采用这种结构时,复杂性会很快增加。
谢谢您的意见。