电脑上按Ctrl + D,下次访问更方便
服务分类

Java的泛型通配符T,E,K,V 等都是什么意思

在定义泛型类,泛型方法,泛型接口的时候经常会碰见很多不同的通配符,比如 T,E,K,V 等等。

Java泛型中的标记符含义:

  • T – Type(Java 类)
  • E – Element (集合中使用)
  • K – Key(键)(键值对时使用)
  • V – Value(值)
  • N – Number(数值类型)
  • ? – 表示不确定的java类型

本质上其实没什么区别,只不过是一个约定好的代码,也就是说使用大写字母A,B,C,D…定义的,就都是泛型,把T换成A也一样,这里T只是名字上的意义而已,只是一种约定俗成的写法。

注:List<? extends T>和List <? super T>有什么区别?

List<? extends T>可以接受任何继承自T的类型的List。上界通配符。

List<? super T>可以接受任何T的父类构成的List。下界通配符。

例如List<? extends Number>可以接受List<Integer>或List<Float>。

频繁往外读取内容的,适合用上界Extends。

经常往里插入的,适合用下界Super。

发表回复

登录后才能评论
联系我们

联系我们

微信客服:

fuwu360微信客服

工作时间:周一至周五,9:30-18:30,节假日休息

返回顶部