A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

package com.itheima;

import java.lang.reflect.Field;

/**
* 实现给某对象的某属性赋予指定的值
* @author 老衲玩IT
*
*/
public class Test {
        public void setProperty(Object obj, String propertyName, Object value){
                 try {
                        //获得类字节码,再通过属性名字获得类定义的属性
                        Field field=obj.getClass().getDeclaredField(propertyName);
                        //如果为私有的,强制设置其可访问
                        if (!field.isAccessible()) {
                                field.setAccessible(true);
                        }
                        field.set(obj, value);
                } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
        public static void main(String[] args) {
               
        }

}


您需要登录后才可以回帖 登录 | 加入黑马