首页 >Java >Java入门 > 正文

java泛型中T和?的区别

原创2020-01-15 16:28:1701246

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和?的区别的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:java 泛型 T ? 区别
  • 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • javaT与?是:T代表是未知,它使用在方法参数或者是类;?代表指,它是一个占位符,不能往容器添加数据。
    javaintinteger:1、int是基本数据类,int变量存储是数值;Integer是引用数据类,实际是一个对象,Integer存储是引用对象地址。
    java字符流字节流是:一、字节流操作基本单元为字节,字符流操作基本单元为“Unicode”代码单元;二、字节流默认不使用缓冲,字符流使用缓冲
    javawaitsleep:1、sleep来自Thread 类,而wait来自Object类;2、sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或方法。
    mysqlcharvarchar数据类是:varchar类用于存储可变长字符串,char类用于存储定长字符串。
    java表达式“i++”“++i”是:“i++”表示先赋值,然后自增;“++i”表示先自增,然后赋值。
    :1、数组可以储存基本数据类对象,而集合只能储存对象(可以以包装类形式存储基本数据类)。2、数组长度是固定,集合长度是可以改变
    javalistset是:1、list方法可以允许重复对象,set方法不允许重复对象;2、list可以插入多个null元素,set只允许插入一个null元素;3、list是一个有序容器,set
    java队列是:1、队列是先进先出,栈是先进后出;2、队列由Queue接口实现,栈由List接口实现;3、栈只能在表一端进行插入删除操作,队列是在表一端进行插入操作,在另一端进行删除操作
    java前加加++后加加++,有很多人搞很晕,不太明白!今天我举几个例子说明下前++后++!其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加!
    java实例与对象联系是:对象是抽象说法,你可以把它看作一个符合它自身定义所有实例代表,而实例则是对象现实体现。你可以说一个实例是一个对象,但你不能说一个对象是一个实例。
    java全局变量局部变量:1、作用域不同,全局变量具有全局作用域,局部变量只有局部作用域;2、初始值不同;3、声明上不同;4、优先级不同。
    javafor语句while语句是:for循环结束后,循环变量及时从内存释放掉了,外部不能再访问这个变量;而while循环结束后,外部还能再访问这个变量,等到GC空闲时才会释放这个变量
    java<T>T表示返回值是一个,而单独T就是表示限制你传递参数类,多用于共同操作一个类对象,然后获取里面集合信息。
    java同步交互异步交互是:同步交互发送一个请求,需要等待返回后才能够发送下一个请求,有个等待过程;异步交互发送一个请求,不需要等待返回便可随时发送下一个请求,没有等待过程。

    2020-02-03

    1127

    TJava一个标记符号,代表Type。本质是参数化类,也就是说所操作数据类被指定为一个参数,好处是允许程序员在编译时检测到非法
    JAVA<t>是意思。意思是Tree这个类里面需要用到另外一个类,但是又不能确定要用到那个类具体类,所以暂时用T来代替。
    这篇文章主要介绍了Mybatis ${ } #{ }使用详解,文通过示例代码介绍非常详细,对大家学习或者工作具有一定参考学习价值,需要朋友们下面随着小编来一起学习学习吧
    thinkpad p系列t系列:ThinkPad T系列:ThinkPad旗舰机,相当轻薄,高端商务机

    2019-11-23

    1223

    “jdk”与“java是:首先“jdk”是针对“java”开发人员发布免费软件开发工具包,主要用于编译调试程序,而“java”是一种广使用计算机编程语言,广应用于企业级“Web”应用开发移动应用开发

    专题推荐

    推荐视频教程
  • 极客学院Java视频教程极客学院Java视频教程
  • JAVA 初级入门视频教程JAVA 初级入门视频教程
  • 全面解析Java注解全面解析Java注解
  • 最新Java完整视频教程最新Java完整视频教程
  • 视频教程分类