日期:2014-05-20 浏览次数:20691 次
public class Test1<E> { public void show(E t) { System.out.println(t); } } public class Test2 { private Test1<E> t1; public <E> Test1<E> setT(E t) { t1 = t; return t1; } }
class Test2<E>{ private Test1<E> t1; public <T extends Test1<E>> Test1<E> setT(T t) { t1 = t; return t1; } }
------解决方案--------------------
private Test1<E> t1;
这里的“E”没有声明。
------解决方案--------------------
t1 = t;t1是Test1类型的,而t是未知类型,未知类型怎么能复制给Test1类呢
public <E> Test1<E> setT(E t)此方法返回的是未知类型<E>,而不经过强制类型转化就返回Test1类,肯定错呀
------解决方案--------------------