光阴似箭催人老,日月如移越少年。
如果追求可讀性,這樣寫:
pubilc Object get() { if () { return A; } if () { return B; } return C; }
除了可讀性差點,沒什麼問題,一個方法有可能根據不同情況返回不同的結果,但每次調用都只會返回其中一種結果。
有種比較好的寫法是,在方法體內優先處理異常分支,儘早返回異常結果。
pubilc Object get(){ //第一个if对应题目中的最后一个else if(invalidResult1) { return null; } //第二个if对应题目中倒数第二个else if(invalidResult2) { return null; } //对应题目中第二个if return succesResult; }
樓上的答案更優化
有一個關鍵點是,一個方法一次呼叫只會回傳一次。如果你的方法有可能回傳兩次是編譯不通過的。因為方法回傳了值,那就表示方法已經到達終點,程式就會走出這個方法。
我認為應該是這樣子的
pubilc Object get(){ Object obj=null; if(){ if(){ obj=x; }else{ obj=xx; } }else{ obj=xxx; } return obj; }
如果追求可讀性,這樣寫:
除了可讀性差點,沒什麼問題,一個方法有可能根據不同情況返回不同的結果,但每次調用都只會返回其中一種結果。
有種比較好的寫法是,在方法體內優先處理異常分支,儘早返回異常結果。
樓上的答案更優化
有一個關鍵點是,一個方法一次呼叫只會回傳一次。如果你的方法有可能回傳兩次是編譯不通過的。因為方法回傳了值,那就表示方法已經到達終點,程式就會走出這個方法。
我認為應該是這樣子的