Java如何通过反射取实体类字段取值

 更新时间:2024年07月09日 14:59:09   作者:超越呦  
这篇文章主要介绍了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;
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Java中throw和throws的区别(详解)

    基于Java中throw和throws的区别(详解)

    下面小编就为大家带来一篇基于Java中throw和throws的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • RestTemplat中关于getForobject方法的使用

    RestTemplat中关于getForobject方法的使用

    这篇文章主要介绍了RestTemplat中关于getForobject方法的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 如何构建可重复读取inputStream的request

    如何构建可重复读取inputStream的request

    这篇文章主要介绍了如何构建可重复读取inputStream的request,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring中的两种代理JDK和CGLIB的区别浅谈

    Spring中的两种代理JDK和CGLIB的区别浅谈

    本篇文章中主要介绍了Spring中的两种代理JDK和CGLIB的区别浅谈,详解的介绍了JDK和CGLIB的原理和方法,有需要的朋友可以了解一下
    2017-04-04
  • 浅谈SpringBoot如何自定义Starters

    浅谈SpringBoot如何自定义Starters

    今天带大家来学习SpringBoot如何自定义Starters,文中有非常详细的图文介绍及代码示例,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Java中的传值与传引用实现过程解析

    Java中的传值与传引用实现过程解析

    这篇文章主要介绍了java中的传值与传引用实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • SpringBoot 整合 Shiro 密码登录与邮件验证码登录功能(多 Realm 认证)

    SpringBoot 整合 Shiro 密码登录与邮件验证码登录功能(多 Realm 认证)

    这篇文章主要介绍了SpringBoot 整合 Shiro 密码登录与邮件验证码登录(多 Realm 认证),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Java源码解析CopyOnWriteArrayList的讲解

    Java源码解析CopyOnWriteArrayList的讲解

    今天小编就为大家分享一篇关于Java源码解析CopyOnWriteArrayList的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • SpringBoot 统一异常处理详解

    SpringBoot 统一异常处理详解

    这篇文章主要介绍了SpringBoot统一异常处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • java 中cookie的详解及简单实例

    java 中cookie的详解及简单实例

    这篇文章主要介绍了java 中cookie的详解及简单实例的相关资料,这里对cookie 的建立与读取,和设定cookie 生命周期等详细介绍,需要的朋友可以参考下
    2017-01-01

最新评论