簡単な例として、次のものがあります。
public static final int RUN_TYPE = 1;
if(RUN_TYPE == 1)
{
}
これにより、ifで「同一のものを比較しています」という警告が表示されます。「同一の比較」警告をグローバルに無効にせずに、この警告を取り除くにはどうすればよいですか?
簡単な例として、次のものがあります。
public static final int RUN_TYPE = 1;
if(RUN_TYPE == 1)
{
}
これにより、ifで「同一のものを比較しています」という警告が表示されます。「同一の比較」警告をグローバルに無効にせずに、この警告を取り除くにはどうすればよいですか?
「同一の比較」警告は、コンパイラが値を認識しており、RUNT_TYPEの値が1であることを認識しており、それを定数1と比較しているためです。これは意味がありません。
定数ではない別の変数と比較すると、実行時まで値を決定できないため、警告は表示されません。
例:
int ANOTHER_INT = 1;
if(RUN_TYPE == ANOTHER_INT {}
これにより、「同一の比較」の警告は表示されません。
あなたは変数でfinal
あるため、それが変化する機会はほとんどありません。なぜその値をテストする必要があるのですか?
編集
-D
...次に、フラグを使用してJavaコマンドラインでプロパティを渡し、コードでこのプロパティを読み取ります。
if ( "WHATEVER".equals(System.getProperty("myproperty", "default_value"))) {
...
}