Java のショートサーキット: 説明と例
プログラミングにおいて、ショートサーキットは式の評価が途中で終了する貴重な機能です。その結果が明らかになったとき。この動作は、Java で || などの演算子を含む式に重大な影響を及ぼします。 (論理 OR) および && (論理 AND) はこの特性を示します。
|| 内で式で最初のオペランドが true と評価された場合、残りのオペランドは処理されません。同様に、&& 式では、最初のオペランドが false と評価された場合、残りのオペランドはバイパスされます。
たとえば、次のように考えてください。
<code class="java">if (a == b || c == d || e == f) { // ... }</code>
a == b が true を返す場合、式全体がすでに真の結果を生成しているため、その後の c == d および e == f の評価はスキップされます。
副作用を扱う場合、短絡の関連性が明らかになります。式内:
<code class="java">if (foo() || bar() || baz()) { // ... }</code>
foo() が true を返した場合、bar() も baz() も実行されず、それらがもたらす可能性のある潜在的な副作用を防ぎます。
もう 1 つの便利なアプリケーション短絡はオブジェクト参照の処理にあります:
<code class="java">if (a != null && a.getFoo() != 42) { // ... }</code>
短絡しないと、a が null の場合、a.getFoo() は NullPointerException を発生させます。ただし、!= null は最初に true に評価される必要があるため、a が null の場合は例外が回避され、安全性が確保されます。
すべての演算子がショートサーキットをサポートしているわけではないことに注意することが重要です。 | (ビット単位の OR) 演算子と & (ビット単位の AND) 演算子、および他のほとんどの数学演算子は、この動作を示しません。したがって、 || を使用してください。短絡効果を求めるときは&&慎重に行ってください。
以上がJava におけるショートサーキットとは何ですか?またどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。