【发布时间】:2014-11-18 03:10:38
【问题描述】:
有没有更好的方法来编写下面的代码?我正在检查一个对象是否为空,如果是则返回 false,否则我检查另一个变量并根据它选择要做什么。
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 语句,还是将 return false(以及我可能放在最后 else { } 块中的任何其他代码)移到 if 语句之外?我可以看到将它移到外面更安全(并且代码行更少),因此该函数可以 100% 保证返回。是否取决于编译器的行为方式?
private boolean myFunction(MyObjectType myObject) {
if (myObject == null) {
...
} else if (myVariable.myMethod()) {
...
}
return false;
}
【问题讨论】:
-
codereview.stackexchange.com 是提出此类问题的更好场所
-
请注意,像 Eclipse 或 Netbeans 这样的 IDE 将不允许您编写不能保证返回所需类型的代码。他们很聪明,可以判断你的 if/else 链是否总是返回结果。
标签: java if-statement coding-style refactoring return