この質問は、優れたコードとコード最適化の開発に関するものです。
boolean a = false;
どの状態がベストか
if(a == false)
また
if(!a)
システムレベルで両方の条件で何が起こるか説明してください。
この質問は、優れたコードとコード最適化の開発に関するものです。
boolean a = false;
どの状態がベストか
if(a == false)
また
if(!a)
システムレベルで両方の条件で何が起こるか説明してください。
これらはおそらく、コンパイラーによって決定されたものとまったく同じ命令になります (問題の言語が何であれ)。
if (!a)
もう 1 つは、恐ろしい「ブーリアン ロンダリング」スタイルです。
内部的には同じ意味です (C でも is の場合は両方の条件が真a
です0
)、最適化に関して違いはありません。
それらはまったく同じです。コンパイラは、最適な方法でコードをコンパイルします。
ブール変数で行われた操作の履歴に依存すると思います。
異なる型を使用して値を割り当てる、数式を使用するなどの異常な方法で以前にブール変数に値を割り当てたことがある場合は、2番目の選択肢だと思います: if(!a) の方が安全で、期待どおりに機能する可能性が高くなりますが、ブール値のみに評価されるブール変数または式のみを使用して常に値を割り当てている場合は、それほど重要ではありません。ただし、個人的には最初の選択肢である if(a == false)の方が読みやすいと思います。
パフォーマンスに関しては、他のすべての回答に同意します。