日期:2014-05-20  浏览次数:20642 次

关于泛型的知识,求各位科普下
现在刚接触了解泛型,对泛型感到十分模糊:
1.对于指定了泛型的类,类中的函数可否出现读取或返回其它类的函数,因为所有书都太注重泛型的T而没能与其他类比较;
2.我确定了一个泛型类,把其他类的对象传给该类无报错,返回时候才报错,这又是为何,求解

public class Holder3 <T>{
private T a;
public Holder3(T a){
this.a = a;
System.out.println(a);
}
public void set(T a){
this.a = a;
}
public T get(){
return a;
}
public static void main(String[] args){
Holder3<Tetris> h3 = new Holder3(new hello());//该行无报错
// Tetris a = h3.get();//抛出异常
}
}

------解决方案--------------------
请问 new hello()  是 Tetris 相同类型么?


Holder3<Tetris> h3 = new Holder3(new hello());//该行无报错
//        Tetris a = h3.get();//抛出异常


试试这样?

Holder3<Tetris> h3 = new Holder3<Tetris>(new Tetris());//该行无报错
//        Tetris a = h3.get();//抛出异常