假设您有以下代码..
for(Element elm : elements)
if(elm instanceof Foobar)
Session.getSomething().getListOfSomething().add((Foobar)elm);
做以下事情不是更好吗?
List<Foobar> list = Session.getSomething().getListOfSomething();
for(Element elm : elements)
if(elm instanceof Foobar)
list.add((Foobar)elm);
假设 Something 和 listOfSomething 在循环执行期间没有改变。我认为由于减少了方法调用,这可以大大减少调用堆栈推送/弹出的数量。
这种优化是不是太挑剔了?我不认为 java 编译器会假设他们可以这样优化。
编辑:未简化代码以排除 AddAll 的使用