利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值

Posted 木白星枝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值相关的知识,希望对你有一定的参考价值。

1.利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值

Field[] field = model.getClass().getDeclaredFields(); 
        // 获取实体类moddel的所有属性,返回Field数组,对应的类中要有每个属性的get和set方法
        for (int j = 0; j < field.length; j++) { // 遍历所有属性
            try {
                String name = field[j].getName(); // 获取属性的名字
                Object value1 = null;
                String firstLetter = name.substring(0, 1).toUpperCase();
                String getter = "get" + firstLetter + name.substring(1);    //get+属性名,因为类中的方法是get+属性名开头大写,所以这里要处理一下
                Method m = model.getClass().getMethod(getter);
                value1 = m.invoke(model); // 调用getter方法获取属性值
                String setter = "set" + firstLetter + name.substring(1);
                m = model.getClass().getMethod(setter, Integer.class);
                m.invoke(model, 10);    //调用set方法设置属性值
            } catch (Exception e) {
                XToastUtils.toast("error1");
            }
        }

2.参考网址
https://www.jb51.net/article/103475.htm

如何获取实体类中的属性和属性值 - 春眠不觉笑 - 博客园




 

以上是关于利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值的主要内容,如果未能解决你的问题,请参考以下文章

Java反射机制详解

[转]Java反射机制详解

Java中反射的实现方式

Java Demo 学习 理解 反射机制 (基础学习)

反射学习3-通过反射机制修改类中的私有属性的值

反射笔记(转载)