2015-03-02 50 views
0

使用試想一下下面的情況:if語句制定者或不

int foo, bar; 

... here the value of bar might change 

if (foo != bar) { 
    setFoo(bar); 
} 

setFoo(Object bar){ 
    this.bar = bar; 
} 

所以在這裏,我們必須整數值,和酒吧變量的值可能會改變。然後我們檢查如果聲明是否已經改變了吧,如果是這樣,我們將foo變量的值改爲值。這裏最好只是每次調用setFoo方法,如果聲明省略,或者保留原樣,因爲此解決方案表示「此值可能不會更改」。這是一個相當主觀的問題,所以我想看看你的看法和對情況的解釋。

我的用戶意見是,請留下如果聲明。

+1

如上所述,選擇是完全主觀的(和IMO不是很有趣)。在其他情況下,可能有客觀的理由避免在沒有改變的情況下調用setter或者讓setter自己執行檢查。 – 2015-03-02 12:53:54

回答

1

如果每次堆棧更忙時調用setFoo,因此最好將該函數留在如果聲明中。像equals這樣的簡單檢查比較便宜,並且每次都不佔用堆棧上的內存。

+0

@ user2340939如果您同意此答案,則應將其標記爲已接受 – 2015-03-03 11:41:31