java field 获得值_反射通用获取字段值
像之前回答的那样,您应该使用:
Object value = field.get(objectInstance);
有时更喜欢的另一种方法是动态调用getter。示例代码:
public static Object runGetter(Field field, BaseValidationObject o)
{
// MZ: Find the correct method
for (Method method : o.getMethods())
{
if ((method.getName().startsWith("get")) && (method.getName().length() == (field.getName().length() + 3)))
{
if (method.getName().toLowerCase().endsWith(field.getName().toLowerCase()))
{
// MZ: Method found, run it
try
{
return method.invoke(o);
}
catch (IllegalAccessException e)
{
Logger.fatal("Could not determine method: " + method.getName());
}
catch (InvocationTargetException e)
{
Logger.fatal("Could not determine method: " + method.getName());
}
}
}
}
return null;
}
还应注意,当您的类继承自另一个类时,您需要递归确定Field。例如,获取给定类的所有字段;
for (Class> c = someClass; c != null; c = c.getSuperclass())
{
Field[] fields = c.getDeclaredFields();
for (Field classField : fields)
{
result.add(classField);
}
}
java field 获得值_反射通用获取字段值相关推荐
- java反射获取字段的顺序6_反射之获取字段
1 public classDemo12{2 3 /* 4 对任意一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息5 Class类提供了以下几个方法来获取字段6 7 Fiel ...
- mysql某字段值转成大写_获取字段值,并使用MySQL将其转换为大写
让我们首先创建一个表-mysql> create table DemoTable1897 ( Name varchar(20) ); 使用插入命令在表中插入一些记录-mysql> inse ...
- 获取存储过程返回值及代码中获取返回值
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- 获取存储过程返回值及代码中获取返回值(转)
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- java获取泛型的值_java 反射之获取泛型对象的所有字段与对应的值(包括父类的)...
public static void main(String[] args) throwsIntrospectionException { SysUser obj= newSysUser(); obj ...
- java高级必须懂得_反射---Java高级开发必须懂的
理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助. 一.Class类的使用 1.万事万物皆对象,(当然,基本数据类型 ...
- java dao修改语句_一个通用的DAO模型实现增删改查
首先三个架包: mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar 导进去: (从上往下一次调用,实现功能) ---- ...
- java 反射 修改字段_Java反射机制-修改字段值
需要用到的类: Field 需要用到的方法: getDeclaredField(); getField(); setAccessible(); 需要用到的字段: public int a=5; pub ...
- list中抽出某一个字段的值_使用LINQ获取List列表中的某个字段值
使用LINQ获取列表中的某个字段值,下面以获取员工列表中的编号字段为例子. 1.使用Select方法 1 List emplayeeList = GetEmplayeeList(); //获取员工信息 ...
最新文章
- c++ clr编译dll在c#调用时出现“试图加载不正确的格式”“找不到dll”错误的解决...
- 当前主流、最新技术回眸(四)
- 利用JavaCSV API来读写csv文件
- 面试官 | 说一下数据库如何分库分表?
- 微信多开txt_1分钟教你如何实现微信多开!建议收藏!
- 【狂人小白】MyBatis.001 学习巴提斯!
- 网络 错误_微软承认Windows 10新BUG:错误显示没有网络连接
- 项目沟通管理 试题分析
- LINUX下DNS的查看和配置,Linux系统中查看和修改DNS配置的方法
- 《华为工作法》6 华为的成功不是一个人的
- 我的VSTO之路(四):深入介绍Word开发
- 傲梅轻松克隆系统盘备份
- 语雀桌面端技术架构实践
- php 微信创建客服,如何给微信小程序内添加客服按钮
- vim 复制、删除多行
- 我奋斗了18年、不是为了和你喝咖啡
- 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to requir
- Operator介绍
- PPT是什么的缩写?
- 中国银行成都网点地址,电话,成都银行分布,位置(总是找不到银行的支行名字,火大!干脆来个全收录)