I am getting a warning in eclipse (the most recent version) for the following code.
public interface A<T> extends B<T> {
public T getObject();
}
The warning appears at ‘T’ in ‘A’ and reads: "The type parameter T is hiding the type T".
The weird part is that the following code generates no errors or warnings.
public interface A extends B<T> {
public T getObject();
}
But now I can’t extend A while telling it what type T is.
I am completely confused. Anyone know why this is happening?
Do you somewhere have a class or interface named
T, or are you usingTas a concrete type name somewhere instead of as a type parameter (which means you might have forgotten somewhere else, for example in an enclosing class, to specify thatTis a type parameter)? I can reproduce your problem with this:If I remove class
T, it disappears.