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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 微笑=.一瞬间 山林野马   /  2014-4-21 19:28  /  1041 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.   

public void setProperty(Object obj, String propertyName, Object value){   
}

该怎么做啊

4 个回复

倒序浏览
这就是beanutils包里面的setProperty方法,查下源码一下就看的到了
自己用内省也能做出来
跟你说个思路吧:
通过内省机制获取属性描述器PropertyDesicript,
通过属性描述器拿到属性名为PropertyName的set方法
将value作为参数传递给set方法
回复 使用道具 举报 1 0
  1. public void setProperty(Object obj, String propertyName, Object value){
  2.                 Class clazz = obj.getClass();
  3.                 try {
  4.                         Field field = clazz.getField("propertyName");
  5.                         field.set(obj,"value");
  6.                        
  7.                 } catch (SecurityException e) {
  8.                         // TODO Auto-generated catch block
  9.                         e.printStackTrace();
  10.                 } catch (NoSuchFieldException e) {
  11.                         // TODO Auto-generated catch block
  12.                         e.printStackTrace();
  13.                 } catch (IllegalArgumentException e) {
  14.                         // TODO Auto-generated catch block
  15.                         e.printStackTrace();
  16.                 } catch (IllegalAccessException e) {
  17.                         // TODO Auto-generated catch block
  18.                         e.printStackTrace();
  19.                 }
  20.         }
复制代码
回复 使用道具 举报 1 0
基础测试题不能在里面求助吧,会扣分的。
回复 使用道具 举报 0 1
带走带走 。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马