您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

java泛型中T和?的区别

2024/3/21 21:23:59发布44次查看
t 代表一种类型。
加在类上:
class superclass<a>{}
加在方法上:
public <t>void fromarraytocollection(t[] a, collection<t> c){}
(免费学习视频教程分享:java视频教程)
方法上的<t>代表括号里面要用到泛型参数,若类中传了泛型,此处可以不传,调用类型上面的泛型参数,前提是方法中使用的泛型与类中传来的泛型一致。
class people<t>{public void show(t a) { }}
t extends t2 指传的参数为t2或者t2的子类型。
?是通配符,泛指所有类型。
一般用于定义一个引用变量,这么做的好处是,如下所示,定义一个sup的引用变量,就可以指向多个对象。
superclass<?> sup = new superclass<string>("lisi");sup = new superclass<people>(new people());sup = new superclass<animal>(new animal());
若不用?,用固定的类型的话,则:
superclass<string> sup1 = new superclass<string>("lisi");superclass<people> sup2 = new superclass<people>("lisi");superclass<animal> sup3 = new superclass<animal>("lisi");
这就是?通配符的好处。
相关文章教程推荐:java入门教程
以上就是java泛型中t和?的区别的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product