Java:在循环中声明对象 [英] Java : declaring objects in a loop
问题描述
两者之间是否有任何区别
Is there any difference between
for (...) {
String temp = "temp";
}
和
String temp;
for (...) {
temp = "temp";
}
我的意思是,Java是否会浪费很多资源来循环创建/删除对象?
I mean, does Java waste many resources creating/deleting objects in loop?
谢谢.
推荐答案
差异在于变量的作用域.
-
在循环内部定义是指仅在循环内部可见.
Defined inside loop means visible only inside the loop.
在循环外部定义意味着在循环内部和外部可见.
Defined outside the loop means visible inside and outside the loop.
Java是否会浪费很多资源来循环创建/删除对象?
does Java waste many resources creating/deleting objects in loop?
如果在循环内定义,那么它将在每次迭代时重新初始化,这意味着额外的可执行语句.如果您想在每次迭代时重新初始化它,那么最好将其移出以保存该语句所浪费的cpu.
if defined inside the loop then it will be re-intialized with every iteration, which means an extra executable statement. If you want to re-intialize it with each iteration then good otherwise move it out to save wasted cpu for that statement.
这篇关于Java:在循环中声明对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!