三、泛型

1、泛型的概念
泛指类型,指的是类型可以在父类子类,接口和实现类之间传递,类似传参
JDK1.5之后出现的,用于解决安全问题,是一个安全机制

2、使用泛型的好处
a、避免了强制类型转换的麻烦
b、很大成度上提高了代码的复用性
c、提高了代码的安全性
d、可以将运行时异常提前到编译时

3、泛型的定义
使用<>来定义要操作的引用数据类型,<>就是用来接受指定类型

4、泛型的应用场景
1>应用在类中
语法:
访问权限修饰符 class 类名<数据类型1,数据类型2,类型3。。。>{

}
a、此处的数据类型之间并没有任何关联,只是为了标示某种数据类型,可以是任意的引用数据类型
b、<数据类型1,数据类型2,类型3。。。>其中的类型只要是合法的标识符即可,一般情况下采用的单个的大写字母,E T M
c、至于泛型到底代表哪种数据类型,取决于调用者,
*/
//如果类中使用泛型,注意:最好能在类中的中使用泛型否则没有意义

2>应用在接口中
语法:
访问权限修饰富 interface 接口名<类型1,类型2,类型3.。。。>{
}

3>应用在方法中
语法:
访问权限修饰符 <类型1,类型2,类型3.。。。>返回值类型 方法名 (类型1 变量名1,类型2 变量名2,类型3 变量名3){

}
//注意:泛型应用在方法的返回值中,最好能和方法的参数有联系,返回值的类型取决与参数的类型

4>应用在集合中【掌握】
ArrayList<String> list = new ArrayList<>();

5>?:通配符
<? extends 类名>:表示可以是指定类或者指定类的子类
<? super 类名>:表示可以是指定类或者指定类的父类

原文地址:https://www.cnblogs.com/lsp-lsp/p/7344048.html