java 反射获取设置私有成员变量的值

Posted z-test

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 反射获取设置私有成员变量的值相关的知识,希望对你有一定的参考价值。

for (Object arg:args) {
            //处理applicationCode
            Class<?> argClass = arg.getClass();
            Field applicationCode =null;
            try {
                applicationCode =argClass.getDeclaredField("applicationCode");
            }catch (NoSuchFieldException e){

            }
            JWTData jwtData = CurrentUser.getUserInfo();
            if (applicationCode!=null&&jwtData != null){
                applicationCode.setAccessible(true);
                if ( StringUtils.isNotEmpty(jwtData.getApplicationCode())) {
                    applicationCode.set(arg,jwtData.getApplicationCode());
                }
            }
            //处理 createdBy
            Field createdBy = null;
            try {
                createdBy =argClass.getDeclaredField("createdBy");
            }catch (NoSuchFieldException e){

            }
            createdBy.setAccessible(true);
            if (createdBy !=null&&createdBy.get(arg)==null &&jwtData != null){
                if ( StringUtils.isNotEmpty(jwtData.getUsername())) {
                    createdBy.set(arg,jwtData.getUsername());
                }
            }
        }

 

以上是关于java 反射获取设置私有成员变量的值的主要内容,如果未能解决你的问题,请参考以下文章

Java+反射1+获取属性/成员变量 的名称及类型

Java面试题:如何通过反射获取和设置对象私有字段的值?

反射那些事

既然Java反射可以访问和修改私有成员变量,那封装成private还有意义么?

在 Java 中,是不是可以在运行时使用反射将成员变量添加到类中?

JAVA-反射-暴力反射和泛型擦除