怎么使用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的发射机制遍历所有字段的修改值"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
- 上一篇
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12的解决方法
这篇文章主要讲解了"PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12的解决方法",文中的讲解内
- 下一篇
如何使用Java实现扫雷小游戏
这篇文章主要介绍"如何使用Java实现扫雷小游戏"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"如何使用Java实现扫雷小游戏"文章能帮助大家解决问题。效果展示