<T> T
表示返回值是一个泛型,传递什么,就返回什么类型的数据。
T
表示只能传递一种参数类型,限制你传递的参数类型。
public class Test<T> {
public T getList(T t){
return t;
}
public <T> T getList2(T t){
return t;
}
public static void main(String[] args) {
Test<String> test = new Test<>();
test.getList("");
test.getList(1);//编译器报错,因为限定了类型为String
test.getList(true);//编译器报错,因为限定了类型为String
test.getList2("");
test.getList2(1);
test.getList2(true);
}
}
test限定了类型为String,
所以getList()只能传递String类型的参数,
而getList2()是<T> T,所以传递什么类型都可以