在循环内部还是在循环外部声明变量会更好吗?
问题描述:
可能重复:
Difference between declaring variables before or in loop?在循环内部还是在循环外部声明变量会更好吗?
考虑下面的两个代码:
Object i;
for(int i=0;i<10;i++){
i = new Object();
}
OR
for(int i=0;i<10;i++){
Object i = new Object();
}
WH上面两个代码的性能和缓冲区溢出效果更好。
答
我喜欢尽可能限制变量的范围。第一个选项将变量作用于整个包含函数,而后者将其限制在循环中。因此,我更喜欢后者,除非在循环完成后显式需要访问该变量。
我不明白这个问题。除非有一些Object的初始化代码包含一些副作用,否则两者基本上都是no-op。 – missingfaktor 2012-02-03 16:35:02
@missingfaktor推测''我'会被用于某种方式。这只是为了说明变量的范围。 – Yuck 2012-02-03 16:35:58