千家信息网

怎么使用Java的发射机制遍历所有字段的修改值

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要为大家展示了"怎么使用Java的发射机制遍历所有字段的修改值",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"怎么使用Java的发射机制遍历所有字
千家信息网最后更新 2024年11月14日怎么使用Java的发射机制遍历所有字段的修改值

这篇文章主要为大家展示了"怎么使用Java的发射机制遍历所有字段的修改值",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"怎么使用Java的发射机制遍历所有字段的修改值"这篇文章吧。

java 通过反射遍历所有字段修改值,避免重复set、get 比如一张表里的字段十几个,而这个表里的图片存储字段有八九个,在返回这个实体类的时候,要对图片进行加密或者其他操作,那就要在实体类查询结果出来后,一个个的get修复,再set赋值,代码量很多,另外如果有多个接口用到,就会产生重复代码; 通过java 的反射,遍历所有字段,进行一个判断,取出来的值是带有图片链接的,进行操作,省去了很多代码,下面贴代码

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassUtil {       private  final Logger logger = LoggerFactory.getLogger(getClass());    /**     * 通过反射所有字段,带有图片的字段,重新赋值     *     * @param obj 对象     */    public void setImageValue(Object obj) {        try {            Class aClass = obj.getClass();            Field[] fields = aClass.getDeclaredFields();            for (Field field : fields) {                PropertyDescriptor pd = new PropertyDescriptor(field.getName(),                        aClass);                // 获取get方法                Method getMethod = pd.getReadMethod();                // 获取set方法                Method setMethod = pd.getWriteMethod();                // 通过get方法获取到值                Object o = getMethod.invoke(obj);                if (o != null) {                    String s = o.toString();                    if (s.contains("jpg")) {                        // 业务操作                        // 更新为新的值                        setMethod.invoke(obj, builder.toString());                    }                }            }        } catch (Exception e) {            e.printStackTrace();        }    } }

ps:下面看下Java数组遍历的几种方式

数组遍历方式参考:

方法一:for循环遍历

  public static void main(String[] args) {        int Arr[][]={{1,2,3},{4,5,6}};        for (int i = 0; i < Arr.length; i++) {            for (int j = 0; j < Arr[i].length; j++) {                System.out.print(Arr[i][j]+" ");            }        }    }

方法二:foreach遍历

 int a[] = {1,2,3,4} ;        for (int element:a){            System.out.println(element);        }

方法三:Arrays工具类中toString (或deepToString)静态方法遍历

  int a[] = {1,2,3,4} ;        int b[][] = {{3,4},{1,2}};        System.out.println(Arrays.toString(a));        System.out.println(Arrays.deepToString(b));

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是"char"。4、布尔类型,是表示逻辑值的基本数据类型。

以上是"怎么使用Java的发射机制遍历所有字段的修改值"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0