`
gwj41
  • 浏览: 97770 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

反射获取List中的泛型

    博客分类:
  • JAVA
 
阅读更多

获取List中的泛型类型,创建对象,并且字段设置值

for (Field f : partPropType.getDeclaredFields()) {
            if ("accountPrincipalApproveList".equals(f.getName())) {
                f.setAccessible(true);
                List accountPrincipalApproveList = new ArrayList();
                if(f.getType() == java.util.List.class){
                    // 如果是List类型,得到其Generic的类型
                    Type genericType = f.getGenericType();
                    if(genericType == null) continue;
                    // 如果是泛型参数的类型
                    if(genericType instanceof ParameterizedType){
                        ParameterizedType pt = (ParameterizedType) genericType;
                        //得到泛型里的class类型对象
                        Class<?> accountPrincipalApproveClazz = (Class<?>)pt.getActualTypeArguments()[0];
                        Object accountPrincipalApprove = accountPrincipalApproveClazz.newInstance();
                        PropertyDescriptor acctApproveIdPropertyDescriptor = new PropertyDescriptor("acctApproveId", accountPrincipalApproveClazz);
                        acctApproveIdPropertyDescriptor.getWriteMethod().invoke(inputPartObject, "ACCOUNT_TYPE_NONE");
                        accountPrincipalApproveList.add(accountPrincipalApprove);
                    }
                }
                f.set(inputPartObject,accountPrincipalApproveList);
                break;
            }
        }

 

分享到:
评论

相关推荐

    ASP.NET通过反射获取泛型列表

    本示例展示了使用工厂方法设计模式,利用反射,通过泛型接口获取具体类型的列表。比如,要返回一张表的数据,通常使用List&lt;具体表名&gt;,本示例源码展示了通过类型参数传递表名,使用List的形式返回具体的表数据

    基于泛型的通用Dao接口和hibernate的实现

    // 通过反射获取 T 的类型信息实例 this.clazz = (Class) ((ParameterizedType) this.getClass().getGenericSuperclass()) .getActualTypeArguments()[0]; } public void create(T entity) { HibernateUtil....

    比较两个集合是否相同(比较两个List内容是否相同)

    比较两个集合是否相同...利用Java反射机制,获取到字段名、方法名、字段值,进行逐个比较,此处本人封装好了工具类,接收的是泛型,调用者只需要传入两个实体List即可进行比较,返回true则为相同,返回false则不相同。

    Java 基础核心总结 +经典算法大全.rar

    获取类中的变量(Field) 获取类中的方法(Method) 获取类的构造器(Constructor) 获取注解 通过反射调用方法反射的应用场景 Spring 的 IOC 容器反射 + 抽象工厂模式 JDBC 加载数据库驱动类反射的优势及缺陷 增加程序的...

    \java超强笔记(超级经典)

    全部是txt格式的,容量小,以下内容为其中之一: 5.0新特性: 泛型: ... 运行Callable任务可拿到一个Future对象,通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果。

    廖雪峰 Java 教程.doc

    泛型和反射 集合 Java集合简介 使用List 编写equals方法 使用Map 编写equals和hashCode 使用EnumMap 使用TreeMap 使用Properties 使用Set 使用Queue 使用PriorityQueue 使用Deque 使用Stack 使用...

    疯狂JAVA讲义

    学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...

    黑马程序员入学测试题详解

    并使用反射手段创建该类的对象, 并调用该对象中的方法。 6、 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 ...

    Java开发技术大全(500个源代码).

    listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的简单类 useArray1.java 用反射机制使用数组示例1 ...

    Java基础知识点.html

    ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap 序列化和反序列化 可变参数 类型通配符 泛型 ...

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

    多功能.NET代码自动生成器(含存储过程)

    适用范围为相应数据表中存在标识字段,可同步获取到新插入数据的标识字段值。 public string Insert_Identity(CalendarNotesModel model) 插入单条数据 public string Insert_Identity(CalendarNotesModel model, ...

    java培训机构内部预习文档

    chp1.语言基础 基本语法、标识符、命名规范、八种基本类型、基本操作符、运算符 chp2.选择结构 if 、if else、if else if else、switch case chp3.循环控制 while、do while、...反射 类对象及其获取方式,反射常用方法

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    17.1.3 泛型类型上的反射 478 17.2 特性 479 17.2.1 自定义特性 482 17.2.2 查找特性 483 17.2.3 使用构造器来初始化特性 484 17.2.4 System.AttributeUsage-Attribute 488 17.2.5 命名...

    Java开发技术大全 电子版

    9.6利用反射获取运行时类信息293 9.6.1使用isInstance()方法判断所属类294 9.6.2获取成员方法信息295 9.6.3获取构造方法信息296 9.6.4获取类的成员属性297 9.6.5根据方法的名称来执行方法299 9.6.6创建新的...

    C#本质论(第3版)

    1.4.1 从控制台获取输入 1.4.2 将输出写入控制台 1.5 注释 1.6 托管执行和公共语言基础结构 1.7 c#和net版本 .1.8 cil和ildasm 1.9 小结 第2章 数据类型 2.1 基本数值类型 2.1.1 整数类型 2.1.2 浮点...

    java基础案例与开发详解案例源码全

    16.5 利用反射获取注解信息438 16.6 上机练习440 17.1 功能描述442 17.2 总体设计442 17.3 代码实现442 17.4 程序的运行与发布457 17.5 本章练习460 第18章 18.1 JDBC简介462 18.2 JDBC类和接口462 18.2.1 ...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    13.2.3如何获取类中的成员信息 13.3通过反射机制访问对象 13.3.1如何实例化对象 13.3.2如何给成员变量赋值 13.3.3如何调用成员函数 13.4何时使用反射 13.5动态异常处理框架 13.5.1框架功能简介 13.5.2重要...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用...

Global site tag (gtag.js) - Google Analytics