@java.lang.Override アノテーションのないメソッドを報告します。
メソッドに @java.lang.Override アノテーションを付けると、コードの可読性が向上します。アノテーションはメソッドの意図を現しているためです。
また、オーバーライド対象メソッドのシグネチャーがスーパークラスのメソッドと一致していない場合、コンパイラーがエラーを返します。
例:
class X {
public String toString() {
return "hello world";
}
}
クイックフィックス適用後:
class X {
@Override
public String toString() {
return "hello world";
}
}
インスペクションの構成:
java.lang.Object メソッド (equals()、hashCode()、toString()) を無視するには、「'equals()'、'hashCode()'、'toString()' メソッドを無視」オプションを使用します。 @Override アノテーションが原因でこれらのメソッドが消滅し、コードがコンパイルできなくなるリスクは比較的小さいと思われます。
@Override アノテーションがないメソッドのみを警告し、1 つ以上の子孫に @Override アノテーションがないオーバーライドされたメソッドを警告しない場合は、「オーバーライドメソッドのすべてに '@Override' アノテーションがない場合にメソッドをハイライト」オプションを無効にします。