別の型に対する instanceof チェックが先行している型キャスト式を報告します。

このような構文は意図的な場合もありますが、誤りである可能性が高く、実行時に java.lang.ClassCastException が発生します。

例:


  class Main {
    int whenCharSequenceCastToNumber(Object o){
      if (o instanceof CharSequence) {
        return ((Number) o).intValue();
      }
      return 0;
    }

    int earlyReturnWhenNotCharSequence(Object o){
      if (!(o instanceof CharSequence)) return 0;
      return ((Number)o).intValue();
    }
  }