Type parameter explicitly extends 'Object'
Reports type parameters and wildcard type arguments that are explicitly declared to extend java.lang.Object
.
Such 'extends' clauses are redundant as java.lang.Object
is a supertype for all classes.
Example:
class ClassA<T extends Object> {}
If you need to preserve the 'extends Object' clause because of annotations, disable the Ignore when java.lang.Object is annotated option. This might be useful, for example, when you use a nullness analyzer, and the 'extends Object' clause holds a @Nullable
/@NotNull
annotation.
Example:
class MyClass<T extends @NotNull Object> {}
Inspection options
Option | Type | Default |
---|---|---|
Ignore when java.lang.Object is annotated | Checkbox | true |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023