【发布时间】:2017-03-17 21:34:17
【问题描述】:
我试图理解为什么我的编译器抱怨我缺少一个 return 语句,而事实上我在我的方法结束时有故障安全 else。为什么会这样? else 什么时候不包括退货?
这是一个原始示例:
public boolean greaterOrEqual(int a){
int z = 10;
if(z > a){
return false;
}
else if(z < a){
return true;
}
else{
return true; //if if and else if fail, else is the last resort
}
}
功能上和这个是一样的
public boolean greaterOrEqual(int a){
int z = 10;
if(z > a){
return false;
}
else if(z < a){
return true;
}
return true; //if if and else if fail, returns true
}
【问题讨论】:
-
你的代码编译得很好。编译时实际代码中存在拼写错误,或者错误在其他行,或者您的环境中出现其他问题。
-
你不需要任何其他的,我知道它不能回答你的问题,但它们完全没有必要。
-
@TofuBeer 你是对的,当然,但就风格而言,我认为将它们放在那里会更好一些,具体取决于整个代码。
-
从风格的角度来看,我更喜欢每个方法一次返回,除了在方法开始时通过参数检查提前返回,通常通过 throws 完成。
标签: java if-statement methods return