博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反射遍历所有属性,包括父类
阅读量:6307 次
发布时间:2019-06-22

本文共 747 字,大约阅读时间需要 2 分钟。

  hot3.png

###今天做了项目的时候,反射获取对象信息然后保存进入redis里面的时候,出现了问题, ###因为 Field[] fields = classType.getDeclaredFields(); ###只获取当前类所有的属性 ###如果要获取父类的属性,然后又不想获取根类Object的属性,需要写一个循环去遍历

// 循环遍历,如果为null或者是根类Object就停止			while (!Object.class.equals(classType) && classType != null) {				fields = classType.getDeclaredFields();// 获取当前类所有的属性				for (Field f : fields) {					f.setAccessible(true);// 设置允许获得的权限					field = f.toString().substring(							f.toString().lastIndexOf(".") + 1); // 取属性名称					if (f.get(object) != null							&& !field.toLowerCase().matches(regex)) {						fieldValue = f.get(object).toString();						value.put(field, fieldValue);					}				}				classType = classType.getSuperclass();// 向上遍历父类			}

这样就可以获取所有属性,包括父类

转载于:https://my.oschina.net/grkj/blog/1510313

你可能感兴趣的文章
【Linux】查询某个字符串出现次数
查看>>
高效使用jquery之一:请使用'On'函数
查看>>
冲刺第一周第三天
查看>>
ERP环境检测工具设计与实现 Environment Detection
查看>>
不要在构造中做太多事情,不然有时候会出现有意思的代码~
查看>>
IIS 发布网站遇到的问题
查看>>
NuGet学习笔记(2)——使用图形化界面打包自己的类库
查看>>
xcode中没有autoSizing的设置
查看>>
字符编码
查看>>
企业应用:应用层查询接口设计
查看>>
浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
查看>>
nfd指令的详细说明
查看>>
安装VisualSvn Server时遇到的问题
查看>>
不用Visual Studio,5分钟轻松实现一张报表
查看>>
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>