Java 学习笔记 泛型

时间:2019-03-28 21:14:18   收藏:0   阅读:111

泛型

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

原文:https://www.cnblogs.com/kexing/p/10617572.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!