java - Missing type arguments for generic class -
using library abstract class a , interfaces i , j, following warning message when extend / implement class / interfaces:
missing type arguments generic class j<t>.
as mwe, classes follows (t , s generic type parameters):
public abstract class {}  public interface i<t extends a> {     public <s extends t> void dostuff(j<? super s> param); }  public interface j<t extends a> {     public void dootherstuff(); }   here classes:
public class aextended extends {}  public class iimplemented implements i<aextended> {     @override     public void dostuff(j param) {} }   explicitly using class aextended below not implement dostuff() i:
public class iimplemented implements i<aextended> {     @override     public void dostuff(j<aextended> param) {} }      
you're not overriding dostuff in iimplemented because method not generic , type bounds not present. version of dostuff should work you:
public <s extends aextended> void dostuff(j<? super s> param) {}   notice since type of i aextended used appropriately here, , lower bound in wildcard type j included.
Comments
Post a Comment