geert3:
私は、コードを次のようしています。
public String myMethod(String keyValue) {
Map<String, Integer> keyValueToRowIndex = ...
Integer rowIndex = (keyValue == null) ? 0 : keyValueToRowIndex.get(keyValue);
if (rowIndex == null)
return null;
...
}
Eclipseは上の「デッドコード」に警告を与えますreturn null;
。以下のためのテストを削除keyValue == null
もすると、警告が削除されますが、私は、余分なテストがreturn文デッドコードを作る方法が表示されません。明らかにマップがいくつかの非ヌルのエントリが含まれていない場合keyValue
は、rowIndex
まだnullにすることができます。それとも私はここで何かが足りないのですか?
私は(同様のEclipseの問題を見てきました、ここで例えば)が、これは別の、より些細なものを思わ。
ジャイロギアレス:
私の推測では、3行目のように解釈されていることです
Integer rowIndex = Integer.valueOf((keyValue == null) ? 0 : keyValueToRowIndex.get(keyValue).intValue());
(?の両方の引数は、よう:として統一されているint
) -奇妙enogh、Eclipseは今ではrowIndexにはnullになることはありませんことを、今は明白であったとしても、何の警告を示していません...
また、交換する可能性がある0
とのInteger.valueOf(0)
警告が消えるように。