我想知道在哪些情况下您更愿意创建某种“辅助”变量来访问可能在方法中使用 2 次或更多次的值。
我在下面的片段中遇到了这个问题:什么更好:两次访问 List
的 size
值,或者创建一个 Integer
保存列表大小的变量?
List<String> list;
private myIndexHelper() {
if (list.size % 2 == 0) {
return PREFIX + list.size;
}
return "";
}
private myIndexHelper() {
int size = list.size;
if (size % 2 == 0) {
return PREFIX + size;
}
return "";
}
我知道这可能是过度优化。但总的来说(忽略性能):您更愿意多次访问 list.size 属性,还是创建一个保存大小的变量?
最佳答案
我们没有“更好”的方法:
- 当您调用
list.size
或本地size
参数时,它具有相同的性能 - 根据 Doug Lea , declaring a local parameter as
final
可能会导致性能提升 - “易于使用”的唯一方面是当您想要一个“更短”的参数时,因此使用:本地
size
参数而不是myListOfReallyNiceIntegers.size
会更容易读/写(使用 for 循环等)。
关于java - 什么时候创建临时辅助变量有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19816953/