如何根据字段名获取对应的 getter function

2020-11-23 17:01:49 +08:00
 arnoldFu
比如根据"id"获取 Test::getId

主要是想根据字段名获取字段值
目前我知道的方式有
1 、反射 field/getter method
2 、PropertyDescriptor readMethod
3 、reflectASM methodAccess

能不能通过字段名获取 getter function,这样类似调用原始 getter 方法,效率会比较快一点
或者还有没有别的方式来根据字段名获取字段值的?
1603 次点击
所在节点    Java
3 条回复
boris93
2020-11-23 22:22:11 +08:00
字段名首字母变大写,然后前面拼接“get”,得到 getXxxx 这个 getter 方法名
然后反射去 invoke 这个名字的方法
arnoldFu
2020-11-24 13:49:27 +08:00
@boris93 反射效率低啊
zhongpingjing
2020-11-25 09:26:11 +08:00
@arnoldFu 很多框架应该也是这样做的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX