Java如何通过反射取实体类字段取值
作者:超越呦
这篇文章主要介绍了Java如何通过反射取实体类字段取值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Java通过反射取实体类字段取值
public class Test { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { GasDay gasDay = new GasDay(); gasDay.setOutputcode("Ccccc"); for (Field field: GasDay.class.getDeclaredFields()){ String name = field.getName();//name就是实体类GasDay的所有字段 System.out.println(String.format("r.linan.wastegas.day.%s", name)); Field declaredField = GasDay.class.getDeclaredField(name); declaredField.setAccessible(true); System.out.println(String.format("name %s value %s", name, declaredField.get(gasDay)));//declaredField.get(gasDay)就是实体类GasDay中所有值 } } }
Java循环实体类 获取实体字段和字段对应的value
有的时候实体字段比较多,需要循环获取实体的字段名和字段内容,实现方法通过Field反射获取类的属性。
实现方式
需要注意的是一定要设置setAccessible为ture
public class test1 { public static void main(String[] args) throws IllegalAccessException { demoEntity entity=new demoEntity(); entity.aa="1111"; entity.bb="2222"; entity.cc="3333"; for (Field field:entity.getClass().getDeclaredFields()){ // 一定要设置setAccessible为ture field.setAccessible(true); System.out.println("实体字段名:"+field.getName()); System.out.println("实体字段值:"+field.get(entity)); } } }
输出结果:
实体类demoEntity
public class demoEntity { public String aa; public String bb; public String cc; public String getAa() { return aa; } public void setAa(String aa) { this.aa = aa; } public String getBb() { return bb; } public void setBb(String bb) { this.bb = bb; } public String getCc() { return cc; } public void setCc(String cc) { this.cc = cc; } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。