报告过强的类型转换。 例如将对象转换为 ArrayList,原本将其转换为 List 也可以。

注意:冗余类型转换检查非常相似,如果您有意使用过强的转换来生成 ClassCastException,则对该检查应用修复可能会改变程序的语义。

示例:

  interface Super {
    void doSmth();
  }
  interface Sub extends Super { }

  void use(Object obj) {
    // 警告: 可以使用 ((Super)obj).doSmth()
    ((Sub)obj).doSmth();
  }

在代码中有匹配的 instanceof 检查时,使用下面的复选框以忽略转换。