java - How to implement interface that uses templates? -
i'm expected implement immutable list interface looks this:
public interface interflist<t> extends iterable<t> { public interflist<t> append(t t); //more abstract methods follow } when i've let netbeans implement interface me, appeared:
public class mylist implements interflist { private object value; @override public interflist append(object t) { throw new unsupportedoperationexception("not supported yet."); } } however, want keep template proper type of object accepted. eg.:
public class mylist<t> implements interflist { private t value; @override public interflist<t> append(t t) { throw new unsupportedoperationexception("not supported yet."); } } the first approach allow kinds objects stored in list making quite mess.
the first approach, however, marked error in netbeans:
mylistnot abstract , not implement methodappend(object)ininterflist
you should do:
public class mylist<t> implements interflist<t> { private t value; @override public interflist<t> append(t t) { throw new unsupportedoperationexception("not supported yet."); } } you want implement interflist<t>.
since implementing interflist without type parameters, you're implementing interflist<object>, causes error append method, takes t instead of object. want implement interflist<t>.
Comments
Post a Comment