Java入門・初心者質問スレ Part.9
■ このスレッドは過去ログ倉庫に格納されています
>>168
間違っています。
先程の回答では理解されていると思っていたので端折りましたが、
Javaでは戻り値がある通常のメソッドからは常に "return 戻り値" か例外のthrowで抜けなければなりません。
例
int exOk1() { // OK
return 0;
}
int exOk2() { // OK
throw new RuntimeException();
}
int exNg() { // NG, compile error
// return がない
} これはif文などの条件分岐を伴う全ての可能性があるパスで満たされている必要があります。
例
int ex1() { // OK
if (condition) {
return 0;
} else {
return 1;
}
}
int ex2() { // OK
if (condition) {
return 0;
}
return 1;
}
int ex3() { // NG, compile error
if (condition) {
return 0;
}
// return がない
} ですので、最初の>>164の後者のString test(int i)の実装でも
メソッドの閉じカッコの手前に
return "";
の一行があればコンパイルは通ります。
オススメはしませんが。 ■ このスレッドは過去ログ倉庫に格納されています