像之前回答的那样,您应该使用:

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 获得值_反射通用获取字段值相关推荐

  1. java反射获取字段的顺序6_反射之获取字段

    1 public classDemo12{2 3 /* 4 对任意一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息5 Class类提供了以下几个方法来获取字段6 7 Fiel ...

  2. mysql某字段值转成大写_获取字段值,并使用MySQL将其转换为大写

    让我们首先创建一个表-mysql> create table DemoTable1897 ( Name varchar(20) ); 使用插入命令在表中插入一些记录-mysql> inse ...

  3. 获取存储过程返回值及代码中获取返回值

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  4. 获取存储过程返回值及代码中获取返回值(转)

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  5. java获取泛型的值_java 反射之获取泛型对象的所有字段与对应的值(包括父类的)...

    public static void main(String[] args) throwsIntrospectionException { SysUser obj= newSysUser(); obj ...

  6. java高级必须懂得_反射---Java高级开发必须懂的

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助. 一.Class类的使用 1.万事万物皆对象,(当然,基本数据类型 ...

  7. java dao修改语句_一个通用的DAO模型实现增删改查

    首先三个架包: mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar 导进去: (从上往下一次调用,实现功能) ---- ...

  8. java 反射 修改字段_Java反射机制-修改字段值

    需要用到的类: Field 需要用到的方法: getDeclaredField(); getField(); setAccessible(); 需要用到的字段: public int a=5; pub ...

  9. list中抽出某一个字段的值_使用LINQ获取List列表中的某个字段值

    使用LINQ获取列表中的某个字段值,下面以获取员工列表中的编号字段为例子. 1.使用Select方法 1 List emplayeeList = GetEmplayeeList(); //获取员工信息 ...

最新文章

  1. c++ clr编译dll在c#调用时出现“试图加载不正确的格式”“找不到dll”错误的解决...
  2. 当前主流、最新技术回眸(四)
  3. 利用JavaCSV API来读写csv文件
  4. 面试官 | 说一下数据库如何分库分表?
  5. 微信多开txt_1分钟教你如何实现微信多开!建议收藏!
  6. 【狂人小白】MyBatis.001 学习巴提斯!
  7. 网络 错误_微软承认Windows 10新BUG:错误显示没有网络连接
  8. 项目沟通管理 试题分析
  9. LINUX下DNS的查看和配置,Linux系统中查看和修改DNS配置的方法
  10. 《华为工作法》6 华为的成功不是一个人的
  11. 我的VSTO之路(四):深入介绍Word开发
  12. 傲梅轻松克隆系统盘备份
  13. 语雀桌面端技术架构实践
  14. php 微信创建客服,如何给微信小程序内添加客服按钮
  15. vim 复制、删除多行
  16. 我奋斗了18年、不是为了和你喝咖啡
  17. 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to requir
  18. Operator介绍
  19. PPT是什么的缩写?
  20. 中国银行成都网点地址,电话,成都银行分布,位置(总是找不到银行的支行名字,火大!干脆来个全收录)

热门文章

  1. Angular rxjs Subject笔记
  2. 主流浏览器和内核及Web标准
  3. pep 8 规范的一些记录
  4. GRE Sub math 报名
  5. Gym - 100851F Froggy Ford kruskal
  6. Java中forEach, 用来遍历数组
  7. 浅谈PVID和VID区别
  8. [Java核心技术(卷I)] - Java中的参数能做什么和不能做什么
  9. koa --- 使用Sequelize连接mysql
  10. Python基础知识-05-数据类型总结字典