我有以下方法:
从我学到的不是空洞的方法需要回报。对于以下示例,我可以看到两个返回,一个在if()之后,一个在结尾。 对于此示例,如果String s不是数字,则它将布尔值返回false。这是有道理的。如果它是一个数字,那么它将检查它是否在该区间内。我想我很困惑我们是否可以在这种情况下获得多次回报以及限制是什么,如果有的话。谢谢。
private boolean ElementBienFormat(String s) {
for (int i = 0; i < s.length(); i++) {
if (!Character.isDigit(s.charAt(i))) {
return false;
}
}
int n = Integer.valueOf(s);
return (n>=0 && n <=255);
答案 0 :(得分:1)
当控制到达return
时,方法将“退出”(返回)。因此,在这种情况下,只要字符不是输入String
控件中的数字,就会返回调用者(具有适当的值)。
boolean success = ElementBienFormat( "a" ); // <-- control would go back here with the value of false.
另一个快速说明是,void
方法也可以有多个return
语句
private void Method( int n )
{
if( n < 0 )
return;
//...
//implicit
//return;
}