Javaでの条件付きステートメントの書き換え

newguy:

以下のコードがある場合、基本的には、いくつかの条件が一致していると判断し、ブール値を割り当ててから、いくつかのコードを実行します。次に、booleanValueがfalseの場合は例外をスローします。残りのコードを実行せずにbooleanValueがfalseの場合に例外をすぐにスローするにはどうすればよいですか?最初のステートメントに2番目の条件ステートメントを挿入しただけでは、コードが重複します。これを行うためのスマートな方法を教えてください(実際のコードのように見えるようにコードを変更しました)。

boolean booleanValue = false;
Permission value;

if (someCondition) {
   value = getPermission_1();
   booleanValue = someMethod(value);
   useValue_1(value);
}
else {
   value = getPermission_2();
   booleanValue = anotherMethod(value);

   useValue_2(value);
}

if (!booleanValue) {
   throw Exception();
}
ニルス・ピペンブリンク:

ブール変数を削除するのはどうですか?次のようにコードを書き直すことができます。

if (someCondition) {
   if (!someMethod()) {
     throw new Exception();
   }
   some codes...
}
else {
   if (!anotherMethod()) {
     throw new Exception();
   }
   some codes...
}

見た目は楽に見えますが、それは好みの問題です...

追加の利点:例外がスタックトレースで終わる場合、2つの異なるthrowステートメントがあるため、条件が何であったかがわかります。それは少しデバッグをスピードアップするかもしれません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Rでの条件付きステートメントの問題

次のifステートメントを条件付きステートメントに適切に書き換えるにはどうすればよいですか?乗算複合代入演算子の使用

java:「if(not empty(A empty)and(B empty)then)」のような条件付きifステートメントの書き方

Javaの条件付きif-elseステートメント

Oracle SQLSELECTステートメントの条件付きで結合

Excelの条件付き書式-複数の「beginswith」ステートメント

条件付き書式IFステートメントの複数のEqualTo文字列

条件付き書式ステートメントからの色付きセルのカウント

VB.Net:条件付き書式設定中のIfステートメント

nginxでのURIの書き換えと変数ステートメントの設定の関係

if / thenステートメントを使用してrデータフレームの値を条件付きで置き換える方法

ifステートメントの条件文字を変数に置き換える

SSRS式、日付条件付きのiifステートメント

Rubyでの複数の条件付きステートメントの実行

JavaScriptの条件付きステートメント内でのRazor構文の使用

Verilog の条件付きステートメントでの減算の使用

Pythonの条件付きのifステートメント

ifステートメントのnull条件付きブール値

Swiftのgotoステートメントの置き換え

複数のifステートメントを単一のifステートメントで置き換える

Word文書テンプレートの変数をJavaで置き換える

カスタムテンプレートのWordPressURL書き換え

条件付き書式とIFステートメント

T-SQL の条件付き選択ステートメント

Postgresのバッチ条件付きINSERTINTOステートメント

条件付きのCASEステートメント

PHPの条件付き更新SQLステートメント

jsxreturnステートメントの条件付き

Pythonの条件付きwithステートメント

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ