java 泛型 t是什么意思_Java泛型中E、T、K、V等的含义

E - Element (在集合中使用,因为集合中存放的是元素)

T - Type(Java 类)

K - Key(键)

V - Value(值)

N - Number(数值类型)

? - 表示不确定的java类型

S、U、V - 2nd、3rd、4th types

至于代表若干类的,放在尖括号内的 通配符 ?:>,还分 上限通配符 (Upper Bounded Wildcards) 和 下限通配符 (Lower Bounded Wildcards)。

上限通配符 extends U> 可以代表这个未知类型 U,或者 通过关键字 extends 所能想象出的 U 类的任何一个子类。同样,下限通配符 super L> 可以代表这个未知类型 L,或者 通过关键字 super 所能想象出的 L类的任何一个超类。

这里分别以多个接口 interface 和 多个类 class 为基础, 创建 继承关系。

并以通过编译的代码, 证明以上论点成立。

public class UP_Interface {

public static void main(String args[]){

/********************************************

* 此处 extends 表示 有上界的统配符 ?,上界为 C2

* 由此定义的引用 listUpper可以作为

* 接下来的 7 种 子泛型类型的 ArrayList 的引用来使用。

**********************************************/

List extends C2> listUpper;//上界统配符 ?, 上界为 C2

listUpper=new ArrayList();//能存储 C2 D1 D2 E1 E2 E3 E4

listUpper=new ArrayList();//能存储 D1 E1 E2

listUpper=new ArrayList();//能存储 D2 E3 E4

listUpper=new ArrayList();//能存储 E1

listUpper=new ArrayList();//能存储 E2

listUpper=new ArrayList();//能存储 E3

listUpper=new ArrayList();//能存储 E4

/*************************************************

* super 表示有下界的统配符 ? ,下界为 C2 ,

* 由此定义的引用 listLower 可以作为

* 接下来的 7 种 子泛型类型的 ArrayList 的引用来使用。

***************************************************/

List super C2> listLower;

listLower=new ArrayList(); //能存储 A1 B1 B2 C1 C2 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 A2 B2 C1 C2 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 A3 B3 C2 C3 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 A4 B3 B4 C2 C3 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 B2 C1 C2 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 B3 C2 C3 D1 D2 E1 E2 E3 E4

listLower=new ArrayList();// 能存储 C2 D1 D2 E1 E2 E3 E4

}

615aefb187e5

image.png

/********************************************

* 此处 extends 表示 有上界的统配符 ?,上界为 C2

* 由此定义的引用 listUpper可以作为

* 接下来的 7 种 子泛型类型的 ArrayList 的引用来使用。

**********************************************/

List extends C2> listUpper;//统配符 ? 的上界为 C2

listUpper=new ArrayList();//能存储 C2 D2 E3 E4

listUpper=new ArrayList();//能存储 D2 E3 E4

listUpper=new ArrayList();

listUpper=new ArrayList();

/*************************************************

* super 表示有下界的统配符 ? ,下界为 C2 ,

* 由此定义的引用 listLower 可以作为

* 接下来的 7 种 子泛型类型的 ArrayList 的引用来使用。

***************************************************/

List super C2> listLower;

listLower=new ArrayList(); //能存储 A1 B1 B2 C1 C2 D1 D2 E1 E2 E3 E4

listLower=new ArrayList(); //能存储 B2 C1 C2 D1 D2 E1 E2 E3 E4

listLower=new ArrayList();// 能存储 D2 E3 E4

}

}

615aefb187e5

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值