Java 学习笔记 泛型

时间:2023-03-09 03:26:54
Java 学习笔记 泛型

泛型

  • 上界匹配 ? extends Number
  • 下界匹配 ? super Number

getSimpleName 不包括包名

getName 会包括包名

常和反射联合使用,做框架

Type是一个标识符接口,通过getClass().getGenericSuperclass()获得

我们需要将此强制转型为其的子类ParameterizedType类来使用

例如有一个框架

public class Dao<T,PK extends Number>{
public Dao(){
ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass()
Type[] types =parameterizedType.getActualTypeArguments();//两个泛型,T和PK
String name = types[0].getSimpleName();//获得传入的T类的简单名字
}
}
//通过继承来实现不同类的代码封装
public class StudentDao extends Dao<Student,Integer>{ }
//上面的name显示的就是Student