泛型

泛型

一种未知的数据类型,当我们不知道用什么数据类型时,使用泛型。

泛型也可以是一个变量。

E e Element元素

T t YPE类型

E:未知的数据类型(创建对象时,确定泛型的数据类型)

会把数据类型作为参数传递,把Student赋值给泛型E

创建集合对象,不使用泛型

  • 好处:默认Object类型,可以存储任意类型的数据
  • 弊端:不安全,会引发异常

使用泛型

  • 好处:
    • 避免了类型转换麻烦
    • 把运行期异常,提升到了编译期异常
  • 弊端
    • 只能存储泛型的类型

泛型类

public class Pair{

}

泛型方法

public void P(T t){

}

静态泛型方法

public static void PP(T t){

}

泛型通配符

?:表示任意的数据类型

使用方式

  • 不能创建对象使用
  • 只能作为方法的参数使用

比如要用方法实现输出集合的功能,但不知集合元素类型,就可以用?作为参数。

泛型上限和下限

  • ?extends E 代表使用的只能是E类型的子类/本身
  • ?super E 代表使用的反省只能是E类型的父类/本身
posted @ 2020-07-04 20:44  jackandtwo  阅读(131)  评论(0)    收藏  举报