我有Item项目;它有getName()getter。我需要在某个循环中访问item.getName()。最好每次在循环中调用item.getName(),还是将其保存在附加变量中并使用该变量,是否存在差异?
例如: 项目项目;
String itemName=item.getName();
for(int i=0; i< itemArray.size();i++){
itemArray.get(i).setName(itemName);
}
或
for(int i=0; i< itemArray.size();i++){
itemArray.get(i).setName(item.getName());
}
答案 0 :(得分:2)
如果你要在循环中反复重新分配item
,那么你需要使用item.getName()
,否则你只需将值存储在局部变量中,然后使用它在循环。如果你不会改变它的价值,那么你也可以final
。{/ p>
<强> E.g:强>
final String name = item.getName();
while(comdition){ // some loop
// something involving name. But not modifying it.
}
答案 1 :(得分:1)
使用item.getName()时,您将始终获得当前的新值。在迭代它时将其保存到附加变量可能不会看到更改。如果这是你的意图,那就确定并将其声明为final,因为它是线程安全的。 否则我不认为这将是一个很大的性能问题。继续使用吸气剂。
答案 2 :(得分:0)
您更喜欢哪一个?
String itemName;
for(int i=0;i<itemArray.size();i++){
itemName=itemArray.get(i).getName();
System.out.println(itemName);
}
或
for(int i=0;i<itemArray.size();i++){
System.out.println(itemArray.get(i).getName);
}