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 using T as 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 that T is a type parameter)? I can reproduce your problem with this:
class T { // A concrete type T } interface B<T> { // warning: The type parameter T is hiding the type T } interface A<T> extends B<T> { // warning: The type parameter T is hiding the type T T getObject(); } If I remove class T, it disappears.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With