定义泛型问题
来源:百度知道 编辑: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就行。
/**
* @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方法会根据这个指定返回相同的类型。