Is there any performance penalty for the following code snippet?
for (int i=0; i<someValue; i++) { Object o = someList.get(i); o.doSomething; }
Or does this code actually make more sense?
Object o; for (int i=0; i<someValue; i++) { o = someList.get(i); o.doSomething; }
If in byte code these two are totally equivalent then obviously the first method looks better in terms of style, but I want to make sure this is the case.
In today’s compilers, no. I declare objects in the smallest scope I can, because it’s a lot more readable for the next guy.