Say I have a loop like
for (Foo aType : bar.getAList()) {
if (aType.getBaz().equals(baz)) {
return aType;
}
}
bar.getAList()
is called on each iteration of the loop. Does the JVM/compiler keep track of the fact that this is the same object, or does it naively call the method and create a reference to the List each time?
Additionally, is this anything at all to worry about (recalling Jackson, Knuth, and Wulf's aphorisms regarding optimization)?