java注解 column_全面解析Java注解

Object fieldValue = null; //定义一个object变量用语存储对象的属性值

try {

Method getMethod = c.getMethod(getMethodName); //根据方法名字获得这个方法

fieldValue = getMethod.invoke(f);//执行f对象的方法名为getMethodName的方法。

} catch (Exception e) {

e.printStackTrace();

其实,这段代码要做的就是,根据属性名称获取对象的属性值。就是你知道了对象的属性名,但是要获取这个对象的值。

所以,你直接调用对象的get方法就可以得到对象的属性值。但是因为属性名称是个变量,所以这时候就要通过反射来实现了,具体怎么实现呢?

1:根据属性名称,构造属性方法名。比如属性名是namecode他的get方法就是getNamecode(){......},所以方法名就是getNamecode,

2:根据方法的名称,获取这个方法对象Method getMethod = c.getMethod(getMethodName);

3:这个方法的方法对象你获得了,就可以执行这个方法了,具体它要调用一个invoke的方法,具体invoke做了什么你可以去看源码,也可以自己了解,我可以告诉你,这句代码:fieldValue = getMethod.invoke(f);

它相当于是f对象调用它的获取这个属性的属性值的get方法。就是执行你第2部获取到的那个方法。

这时候,就得到了这个对象的已知属性名称的属性值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值