這可能看起來(lái)很乏味,但我知道在 JavaScript 中,如果一個(gè)對(duì)象屬性將被多次使用,則聲明局部變量是優(yōu)化的最佳實(shí)踐。例如:var i, length = array.length;for(i = 0; i < length; i++) { console.log(length);}我很好奇在 Java 中是否會(huì)出現(xiàn)相同的情況,例如在這個(gè)例子中我使用了values.length兩次。for(int i = 0; i < values.length && length < values.length + i; i++) { vector[i + index] = values[i];}
1 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
我會(huì)說(shuō)這取決于。在您的示例中,它不會(huì)改變?nèi)魏蝺?nèi)容。創(chuàng)建局部變量和使用length屬性一樣快。但是使用類中的字段并不常見(jiàn),我們都使用 getter 代替這個(gè),例如:
// not used
class Person {
public String name;
}
// used
class Person {
private String name;
public String getName() {
return name;
}
}
在這種情況下 usinggetName()也和局部變量一樣快,但它getName()是一種方法,內(nèi)部可以是任何東西。您可以進(jìn)行非常復(fù)雜的計(jì)算(不推薦,但不能禁止)。在這種情況下,局部變量應(yīng)該更快,因?yàn)槟挥?jì)算一次。
添加回答
舉報(bào)
0/150
提交
取消