java通过反射获取泛型参数
来源:互联网 发布:淘宝上发光闹钟说明书 编辑:程序博客网 时间:2024/06/10 00:01
测试一种便捷开发的模型,常用于数据库的D、层次。其中用到反射来获取泛型参数。
首先定义一个Generictor接口,定义接口方法。
/** * */package com.zjq.container;/** * @author zhangjiaqi * 写一个生成器接口 * */public interface Generator<T> {/** * @return * 返回一个T所对应的实例 */public T next();}
然后实现类,
然后实现类:
package com.zjq.container;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class GeneratorImpl<T> implements Generator<T>{ @SuppressWarnings("unchecked")@Overridepublic T next() {Type t=this.getClass().getGenericSuperclass();Type actualTypeArguments=((ParameterizedType)t).getActualTypeArguments()[0];try {Class<?> c3= (Class<?>) actualTypeArguments;return (T) c3.newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return null;}}CatDao类:
package com.zjq.container;public interface CatDao extends Generator<Cat>{}CatDao的实现类:
package com.zjq.container;public class CatDaoImpl extends GeneratorImpl<Cat> implements CatDao{}
测试类:
package com.zjq.container;public class Test {public static void main(String[] args) { CatDaoImpl catDaoImpl=new CatDaoImpl(); System.out.println(catDaoImpl.next().getName());} }输出:
猫假如Cat这个类是数据库的对应的类,使用这种模式可以增加Dog类,Fox类等,
而只需要定义相应的接口即可,实现类都集成在GeneratorImpl中,扩展方便,集成度也很高。
阅读全文
0 0
- java通过反射获取泛型参数
- java中通过反射获取泛型的参数类型
- 通过反射获取泛型参数类型
- java基础-反射 --通过反射 获取泛型实际类型参数
- java 获取泛型(通过反射)
- java增强之泛型练习2:泛型DAO、通过反射获取泛型参数
- 黑马程序员-通过反射获取泛型参数类型
- 通过反射获取变量泛型参数化的类型
- java 通过反射获取方法参数列表名称
- Java通过反射获取带参数构造方法并使用
- Java——通过反射获取函数参数名称
- java 通过反射获得泛型的实际类型参数
- JAVA中通过反射获得泛型的实际参数
- java再复习——通过反射获取到方法的参数和返回值的泛型类型
- java 通过反射获取泛型的类型
- java 通过反射获取泛型的类型
- java 通过反射获取泛型的类型
- java 通过反射获取泛型的类型
- tomcat/jedis参数
- jQuery获取select中所有option值
- Linux find常见用法示例
- Python Matplotlib实现三维数据的散点图绘制
- XGBoost 与 Boosted Tree
- java通过反射获取泛型参数
- 多线程的应用场景
- Vue.prototype封装消息
- 重写、覆盖、重载区别和存在的意义
- 2017年多校赛第四场 1005 Lazy Running(同余最短路)
- Linux进程间通信 共享内存实现
- 在Web应用中,会用到大量的Ajax请求,在Ajax请求中存在的一个问题就是如何判断session超时,在网上找到的一个java中处理此问题方法:
- 你的网卡真有千兆么?——千兆网卡传输速度解析
- java开发微信公众平台(一)-- 服务器配置