目录
一、泛型概述
1. 本质是参数化类型,把类型作为参数传递。
2. 常见的形式有泛型类、泛型接口、泛型方法。
3. 语法:<T,...> T称为类型占位符,表示一种引用类型。
4. 好处:
(1)提高代码的重用性;
(2)防止类型转换异常,提高代码的安全性。
二、泛型类
要先创建一个泛型类:
↓↓↓
/**
* 泛型类
* 语法:类名<T>
* T是类型占位符,表示一种引用类型,如果编写多个使用逗号隔开
*
*/
public class MyGeneric<T>{
//使用泛型T
//1.创建变量
T t;
//2.作为方法的参数 不知道数据类型,不能new对象
public void show(T t){
System.out.println(t);
}
//3.泛型作为方法的返回值
public T getT(){
return t;
}
}
然后再使用泛型类创建对象:
↓↓↓
注意:
1.泛型类只能使用引用类型;
2.不同泛型类型的对象之间不能相互赋值。
三、泛型接口
先写一个泛型接口 MyInterface.java:
/**
* 泛型接口
* 语法:接口名<T>
*
*/
public interface MyInterface<T> {
// 注意:不能使用泛型创建静态常量
String name = "zhangsan";
T server(T t);
}
接口不能实例化,要添加实现类,然后在测试类中实现。
1.直接在实现类中确定好类型
2.实现类也写成泛型类
四、泛型方法
重在注释 重在注释 重在注释
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
五、泛型好处
1.提高代码的重用性(重写);
2.防止类型转换异常,提高代码安全性。
六、泛型集合
1.概念
参数化类型、类型安全的集合,强制集合元素的类型必须一致。
2.特点
(1)编译时可检查,非运行时抛出异常;
(2)访问时,不必类型转换(拆箱);
(3)不同泛型之间引用不能相互赋值,泛型不存在多态。
源码详见:泛型类、接口、方法的使用方法
简单粗暴!
感谢ლ(°◕‵ƹ′◕ლ)!!!