定义泛型问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 00:21:39
public class Test<T> {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}

public List<T> get() {
return null;

}

}
1、为什么我在定义get方法的返回值List<T>的时候必须在我定义的Test后加上<T>才行呢?
2、<T> 代表什么,我之后又该怎样用T呢谁能帮我把get方法写完只要用上T就行。

<T> 代表一种类型,可以是String、Integer等(实际上只要是Object的子类都行)。

这是一个泛化的类,用法如下:

Test<Object> test = new Test<Object>();
List<Object> result = test.get();

由于定义的是<T>,所以我们也可以把上面的Object类型换成String、Integer其它的类型。

这里关键的是new Test<Object>();这句,它在创建Test对象的时候指明了<T>这个T的具体类型,get方法会根据这个指定返回相同的类型。