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
posted @ 2019-03-28 20:50  Stars-one  阅读(366)  评论(0编辑  收藏  举报