I have a class that extends the LinkedList class. Here's an excerpt of the code:
class SortedList<Integer> extends LinkedList<Integer> {
int intMethod(Integer integerObject){
return integerObject;
}
}
This is expected to return the auto-unboxed int value. But for some reason, the compiler throws an error that says that the types are incompatible and that the required type was int and the type found was Integer. This works in a different class perfectly fine! What gives? :(
This is because you have
<Integer>
afterSortedList
.Usually you use
T
for type parameters:class SortedList<T>
, but you usedInteger
instead. That is, you madeInteger
a type parameter (which shadows thejava.lang.Integer
).Your class, as it stands, is equivalent to
Remove the type parameter and it works just fine: