[解決済み] javaコードでラベルを使用するには?
2022-01-30 05:29:57
質問事項
Javaコードでラベルにbreak文を使用する際にエラーが発生します。これは次のように表示されます。
undefined label
. このようなコードの書き方は間違っています。正しい使い方を教えてください。よろしくお願いします。
while (true)
{
label149: if (!localIterator2.hasNext());
while (true)
{
i++;
break;
HashMap localHashMap2 = (HashMap)localIterator2.next();
if (!((String)localHashMap1.get("name")).equalsIgnoreCase((String)localHashMap2.get("emotion")))
break label149;
if (!((String)localHashMap2.get("IS_paid")).equalsIgnoreCase("1"))
break label246;
((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "1");
}
label246: ((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "0");
}
解決方法は?
A
break
というラベルは
goto
ステートメントを使用します。Javaには
goto
ステートメントを使用します。
ラベルは、その後に続く文をマークします。このラベルは、その文から抜け出すために使うことができ、その文からのみ抜け出すことができます。フローの制御は、常にラベルの付いたステートメントの最後に移行します。
では、ここにあるのは何でしょう?
label149: if (!localIterator2.hasNext());
ifの後にセミコロンがあるので、実際にはこれがラベル付きステートメント全体となります。ですから、あなたの
break label149
はその範囲に全く入っていません。もし、このセミコロンがなかったら
if
ブロックには
while
であり、次に
break label149
は動作します。しかし、制御が
while
ブロックを作成します。
label246: ((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "0");
これは、label246でマークされた文です。ここでも
break label246
はその中に入っていないので、そのスコープには入っていません。そして、中に入っていないステートメントから抜け出すことはできません。
関連
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】koch snowflake java recursion