//Java 方法返回值前面的T是什么 TODO 它的作用是定义泛型
class Show<T>{
public void print1(T t){
System.out.println(t);
}
public <T>void print2(T t){
System.out.println(t);
}
}
class Demo{
public static void main(String[] args) {
Show<String> stringShow = new Show<>();
// stringShow.print1(new Integer(1));//编译不通过
stringShow.print2(new Integer(1));
/*TODO 分析:
* show类定义了泛型T,它有两个print方法,两个方法只有一点差别,print2有<T>,而print1没有。
* Demo类实例化Show类,并将泛型类型定义为String类型,却为两个print方法传入Integer类型的对象。
* print2可以编译,而print1不可编译。
* print1中的泛型与show对象的泛型相同,都是String,因此不能传入Integer类型的参数。而print2
* 方法自定义了一个泛型T,因此方法参数类型不受对象泛型类型限制,这样定义的话这个方法是可以传入任意
* 类型的参数的。*/
}
}
方法返回值前面的<T>是什么?浅谈泛型模板T
最新推荐文章于 2023-09-26 19:04:40 发布