クラスがシステムまたはサードパーティのライブラリに由来している宣言は、このインスペクションでは報告されません。
キャスト、instanceof、およびローカル変数は、equals() メソッドの実装では報告されません。
また、キャストは clone() メソッドの実装では報告されません。
例:
interface Entity {}
class EntityImpl implements Entity {}
void processObject(Object obj) {
// 警告: 具象クラスの instanceof
if (obj instanceof EntityImpl) {
// 警告: インターフェースではなく、
// 具象クラスにキャスト
processEntity((EntityImpl)obj);
}
}
// 警告: 具象のパラメーター
void processEntity(EntityImpl obj) {
}
抽象クラスへのキャストを無視するには、「抽象クラス型を無視する」オプションを使用します。
問題の報告対象となるコンテキストを制御するには、次のオプションを使用します。