Java


JAVA.REDUNDANT.EQF.TYPE : == Always Fails Because Types Always Different (Java)

要旨

Two objects are compared by equals() but they have always distinct types.

This checker identifies incorrect or inefficient comparisons through equals() or ==. In some cases, these comparisons are wrong: for instance, strings should be compared for equality through equals() rather than through ==. Classes can be safely compared through == instead. In other cases, these comparisons can be replaced by more efficient code.

プロパティ

クラス名 == Always Fails Because Types Always Different (Java)
日本語クラス名 == Always Fails Because Types Always Different (Java)
クラス分類 信頼性 (reliability)
ニーモニック JAVA.REDUNDANT.EQF.TYPE
カテゴリー
CWE CWE:1024 Comparison of Incompatible Types
対応言語 Java で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="== Always Fails Because Types Always Different (Java)"

解決法

Check if the equality is actually wrong or can be replaced by more optimized code.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。