我读到你应该避免在方法中经常引用一个字段,而只是做一次,将它分配给一个局部变量,例如:
public static void doSomething() {
final Map<String, Integer> myMap = this.theMap;
//do some processing with myMap
}
效率的原因是,每次访问现场只需要更长的时间。这是你应该担心的吗?
答案 0 :(得分:0)
这绝对是错误的。
访问变量(本地或使用类'成员)完全没有区别。最后,两个字段只包含对内存中相同位置的引用,而不会对性能产生任何影响。即使在类字段中使用getter也没有区别,因为一旦注意到这可能会提高性能,JIT编译器就会内联方法调用。
答案 1 :(得分:0)
优化:它没有做任何事情。任何好处(如果有的话)也将由优化器提供。
只有编码人才能获得好处,因为能够以不同的方式命名,以便更好地了解方法的目的。
public function test() {
Produce harvestedFruits = this.produce;
for(Produce fruit : harvestedFruits ) {
if(fruit.isRotten()) {
harvestFruits.remove(fruit);
}
}
}
即便如此,我建议使用getter和setter方法,因此扩展函数可以做自己的事情,测试变得更容易,并且使用文档,当在相对高级的IDE中将鼠标悬停在方法上时,您提供了很好的亮点< / p>
Produce fruit = this.getProduce();