[解決済み] if / for / while 内で "Missing return statement" が発生する。
2022-01-17 20:23:17
質問
の中で使われているreturnステートメントについて質問があります。
if()
while()
または
for()
ステートメントを使用します。
以下のメソッドでわかるように、私が期待しているのは
return
をString値で指定します。問題なのは、もし私が
return
文の中で
if
ステートメント・ブロックの場合、コンパイラはエラーを返します。
missing return statement
.
public String myMethod()
{
if(condition)
{
return x;
}
}
もちろん、メソッドヘッダを次のように変更することもできます。
void
を使用し
System.out.println
の代わりに
return
. しかし、これは正しい方法なのでしょうか?私は何かを見逃しているのでしょうか?
どのように解決するのですか?
の中にreturnステートメントを入れると
if
,
while
または
for
ステートメントを使用すると、値を返すかどうかが決まります。もしこれらの文の中に入らないのであれば、そのメソッドは何らかの値 (ヌルかもしれません) を返さなければなりません。これを確実にするために、コンパイラはこの return 文を
if
,
while
または
for
.
しかし、もしあなたが
if
/
else
ブロックがあり、その中にリターンがある場合、コンパイラーは
if
または
else
が実行され、そのメソッドが値を返します。ですから、今回はコンパイラが無理強いすることはありません。
if(condition)
{
return;
}
else
{
return;
}
関連
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み] 非voidメソッドにreturnステートメントがない場合のコンパイル
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaScriptで複数の値を返す?
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Javaの".class expected "について
-
[解決済み】CreateProcess error=2, The system cannot find file specified.