添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

java 通过反射遍历所有字段修改值的实例代码

作者:如漩涡

这篇文章主要介绍了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遍历所有字段修改值的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
  • Jmeter BlazeMeter实现web录制过程
    Jmeter BlazeMeter实现web录制过程
    2021-12-12
  • 浅谈Java中Collections.sort对List排序的两种方法
    浅谈Java中Collections.sort对List排序的两种方法
    2021-12-12
  • Java 关系运算符详情及案例(下)
    Java 关系运算符详情及案例(下)
    2021-12-12
  • SpringAop @Aspect织入不生效,不执行前置增强织入@Before方式
    SpringAop @Aspect织入不生效,不执行前置增强织入@Before方式
    2021-12-12
  • mybatisplus @Select注解中拼写动态sql异常问题的解决
    mybatisplus @Select注解中拼写动态sql异常问题的解决
    2021-12-12
  • Java如何实现读取txt文件内容并生成Word文档
    Java如何实现读取txt文件内容并生成Word文档
    2021-12-12
  • 详细解读Java Spring AOP
    详细解读Java Spring AOP
    2021-12-12
  • mybatis新增save结束后自动返回主键id详解
    mybatis新增save结束后自动返回主键id详解
    2021-12-12
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号