java 泛型使用和反射
来源:互联网 发布:程序员高薪 编辑:程序博客网 时间:2024/04/30 07:32
Object是基类,所有类的祖宗;
Type是类型,如基本数据类型;
Class是对象,每个类的对象的共性做的抽象。
Type的值可以为:java.util.List<java.util.List<com.flyread.optwebcontainer.biz.httpRequest.HttpClientUtil>>
然后我们可以用......Class也是有getSimpleName()等方法的。
Class<?> keySonClazz = Class.forName(Type.getTypeName());
创建Class对象,Class<T> clazz = Object.class = obj.getClass();
T t = clazz.newInstance();
Class实例化后就是对象,如类A,A.class就是class对象。
反射详情:http://www.cnblogs.com/lzq198754/p/5780331.html
泛型例子:
利用泛型建泛型数组:
/** * 根据数组的最小一层非数组对象和数组的维度,生成多维度数组类型 * * @param clazz 数组的最小一层非数组类型 * @param dimensions 数组的维度 * @param <T> * @return */ protected <T> Class<?> genDimensionsArrayClass(Class<T> clazz, int dimensions) { if (dimensions == 1) { return Array.newInstance(clazz, 10).getClass(); } else if (dimensions > 1) { return Array.newInstance(genDimensionsArrayClass(clazz, dimensions - 1), 10).getClass(); } else { System.err.println("数组维度异常,异常维度为:" + dimensions); throw new TestngCSVException(TestngCSVException.OBJECT_TRANS, "数组维度异常,异常维度为:" + dimensions); } }
获得list、map、数组中的泛型对象:
Field field = t.getClass().getDeclaredField(fieldName); String fieldTypeName = field.getGenericType().getTypeName();
fieldName为对应list或map的实体对象名称,fieldTypeName得到的结果是:java.util.List<java.lang.String>字符串,java.util.Map<java.lang.String, java.lang.String>,java.util.String[]字符串。然后去处理这些字符串吧,用Class.forName(");又将字符串变成对象。
0 0
- java 泛型使用和反射
- Java 反射总结和使用
- java 使用反射 获取 泛型信息
- java泛型和反射的问题
- 【JAVA】集合类、泛型和反射
- Java中的泛型、反射和正则
- java异常、泛型和反射
- java的泛型和反射,多线程
- java---泛型和反射机制
- Java反射和泛型的本质
- 使用Java泛型和反射技术将Mysql记录集转换为Javabean集合
- 【Java学习】使用泛型和反射 创建通用的数据库查询方法
- java 反射和 工厂模式结合使用
- java反射机制浅析和使用
- Java和Android反射使用记录
- java 反射的理解和使用
- Java反射和注解的使用
- 使用Java泛型和反射机制编写Excel文件生成和解析的通用工具类
- ssh登录docker容器
- BootStrap入门教程 (三)
- 【Java线程】锁机制:synchronized、Lock、Condition
- BH大逃亡-暴力求解示例
- Android 百度地图 Marker 平滑移动
- java 泛型使用和反射
- AS: Unsupported method: AndroidProject.getPluginGeneration().
- 关于explode
- xml与datatable互转
- 安装boost库
- BootStrap入门教程 (二)
- 为Web Forms添加捆绑(Bundling)和压缩(Minification)
- 写给对游戏制作有迷惑的小伙伴
- javax.mail 发送邮件