Generics 这样:public Class<? extends Runnable> getClassA()原因:class FileDel <T extends Runnable>只能说明T继承/实现Runnable,但是A不一定继承T 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的,再加上因为泛型的消除机制,在编译时getClassA()方法无法知道A.class是Class<T>的,需要加强制类型转换,以下 public Class<T> getClassA(){return (Class<T>)A.class;} A 继承Runnable 对编译器是确定的, T也要继承Runnable , 这个编译器可以确保,编译器无法确保的是 A继承T, (虽然比如T是 class C extends Runnable{} 这中情况) 所以报错同理, 如果A.class 换成Runnable.class 也报错, 因为如果T 是Thread.class, 那么Class<? extends T> 无法包含Runnable 了 很多人都错了。这道题。 swing中如何组合控件? oracle数据库问题 帮忙看看这个yield()方法为什么没起作用 多次用到同一个JMenu怎么办? JSP用File上传问题 (急! 在线等) 当有很多packages和其他jar文件时候,如何制作jar文件? 请教CD命令的错误 我用是WIN2K,装了J2SDJ1.4.2 和 EditPlus,我怎么设置环境变量?(里面是CSDN上大侠讲的) 如何读取一个txt文件?在线等待 新人纠结的小问题 请教,如何终止一个java的线程
public Class<T> getClassA(){return (Class<T>)A.class;}
T也要继承Runnable , 这个编译器可以确保,
编译器无法确保的是 A继承T, (虽然比如T是 class C extends Runnable{} 这中情况)
所以报错同理, 如果A.class 换成Runnable.class 也报错, 因为如果T 是Thread.class, 那么Class<? extends T> 无法包含Runnable 了