Java generics compile error "Class<capture#1-of ? ..." -
i'm in trouble using javax.swing.event.eventlistenerlist
class in personal java project. it's not simple one, made simple example has same problem.
package test; public class generictest { public static void main(string[] args) { generictest gt = new generictest(); gt.dotest(string.class); } private void dotest(class<? extends comparable> type) { dosomething(type, "test"); // compile error : // method dosomething(class<c>, c) // in type generictest not applicable arguments // (class<capture#1-of ? extends comparable>, string) } // third party api javax.swing.event.eventlistenerlist.add() private <c extends comparable> void dosomething(class<c> ct, c c) { // ... } }
i got generics compile error in codes.
i have many classes extends specific interface java.lang.comparable
, want handle of them single method dotest()
in codes.
anyone can me?
define c
in dosomething
comparable
or string
:
dotest(string.class); } private static void dotest(class<? extends comparable> type) { dosomething(type, "test"); } // third party api javax.swing.event.eventlistenerlist.add() private static <c extends comparable> void dosomething(class<c> ct, comparable c) { // ... }
please note cannot cast implicitly object
,string
or comparable
c
. more insight, inside dosomething
try this:
c s = c; //type mismatch: cannot convert comparable c
Comments
Post a Comment