有沒有更好的方法來編寫下面的代碼?我檢查一個對象是否爲null,如果是則返回false,否則我檢查另一個變量並根據該變量選擇要執行的操作。返回語句的Java最佳風格 - 內部或外部如果條件?
private boolean myFunction(MyObjectType myObject) {
if (myObject == null) {
return false;
} else if (myInstanceVariable.myMethod()) {
// Do something then return
System.out.println(myObject.getSomeValue());
return true;
} else {
return false;
}
}
是更好地有最後的else語句或if語句之外將return false
(以及其他任何我可能已經把之前的最後else { }
塊的內部代碼)?我可以看到它更安全(和更少的代碼行)將其移到外面,以便函數100%保證返回。它可能取決於編譯器的行爲方式嗎?
private boolean myFunction(MyObjectType myObject) {
if (myObject == null) {
...
} else if (myVariable.myMethod()) {
...
}
return false;
}
http://codereview.stackexchange.com/是最好的地方問這樣的問題 – sol4me 2014-09-23 19:23:52
真棒謝謝! – user3553107 2014-09-23 19:25:41
請注意,體面的IDE(如Eclipse或Netbeans)不允許您編寫不保證返回所需類型的代碼。而且他們非常聰明,可以確定你的if/else鏈是否總是返回結果。 – Bobulous 2014-09-23 19:28:50