Java泛型

Java泛型的本质就是参数化类型

使用泛型的好处

1.编译器在编译期就会做类型检查,告知是否插入了错误类型的对象,使得程序更加安全,增强了程序的健壮性

2.消除源代码中的许多强制类型转换,这使得代码更加可读,并且减少了出错机会。

3.泛型变量固定了类型,使用的时候就已经知道是值类型还是引用类型,避免了不必要的装箱、拆箱操作,提高了程序的性能

4.提高了代码的重用性

泛型的使用有以下几种

 

 

 

1.泛型方法<T>

 

 

 

1. public 与 返回值中间<T>非常重要,可以理解为声明此方法为泛型方法。
2.只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。
3.<T>表明该方法将使用泛型类型T,此时才可以在方法中使用泛型类型T。
4.与泛型类的定义一样,此处T可以随便写为任意标识,常见的如T、E等形式的参数常用于表示泛型。

 

 

2.泛型类

 

 

 

 

3.泛型接口

 

 

 

 

4.通配符(上限和下限)

1.<?>  --> 无边界的通配符  表示类型参数可以是任何类型

2.<? extends Number> -->固定上边界的通配符   2:表示类型参数必须是Number或者是Number的子类

3.<? super Number> --> 固定下边界的通配符     3: 表示类型参数必须是Number或者是Number的父类

 

 

 

泛型的实现原理

泛型本质是将数据类型参数化,它通过擦除的方式来实现,即编译器会在编译期间「擦除」泛型语法并相应的做出一些类型转换动作

 

posted @ 2022-06-17 15:27  luoshen-luo  阅读(19)  评论(0编辑  收藏  举报