Inspectopedia Help

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