Java-在for循环中声明变量
在循环内部声明变量是否不好?在我看来,这样做,如下面的第一个代码块所示,将使用第二次的十倍的内存…由于在循环的每次迭代中都创建了一个新的字符串。这样对吗?
for (int i = 0; i < 10; i++) { String str = "Some string";
}
与
String str;for (int i = 0; i < 10; i++) {
str = "Some String";
}
回答:
在循环内部声明变量是否不好?
一点也不!它将变量本地化到其使用点。
在我看来,如下面的第一个代码块所示,这样做将使用十倍于第二个内存的内存。
编译器可以优化内容以保持内存使用效率。仅供参考:如果您使用final
关键字告诉您变量具有对对象的固定引用,则可以提供帮助。
注意:如果在构造函数中要执行复杂代码的对象比较复杂,则可能需要担心单次执行还是多次执行,并在循环外声明该对象。
以上是 Java-在for循环中声明变量 的全部内容, 来源链接: utcz.com/qa/428627.html