博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取Java类中所有Field
阅读量:7012 次
发布时间:2019-06-28

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

hot3.png

import java.lang.reflect.Field;import java.util.ArrayList;import java.util.Arrays;/** * 反射集合类 * */public class ReflectUtils {		/**	 * 获取类clazz的所有Field,包括其父类的Field,如果重名,以子类Field为准。	 * @param clazz	 * @return Field数组	 */	public static Field[] getAllField(Class
 clazz) { ArrayList
 fieldList = new ArrayList
(); Field[] dFields = clazz.getDeclaredFields(); if (null != dFields && dFields.length > 0) { fieldList.addAll(Arrays.asList(dFields)); } Class
 superClass = clazz.getSuperclass(); if (superClass != Object.class) { Field[] superFields = getAllField(superClass); if (null != superFields && superFields.length > 0) { for(Field field:superFields){ if(!isContain(fieldList, field)){ fieldList.add(field); } } } } Field[] result=new Field[fieldList.size()]; fieldList.toArray(result); return result; } /**检测Field List中是否已经包含了目标field  * @param fieldList  * @param field 带检测field  * @return  */ public static boolean isContain(ArrayList
 fieldList,Field field){ for(Field temp:fieldList){ if(temp.getName().equals(field.getName())){ return true; } } return false; }}

转载于:https://my.oschina.net/fengcunhan/blog/382127

你可能感兴趣的文章
第三代北斗芯片发布 2020年北斗计划向全球提供服务
查看>>
阿里巴巴集团CTO王坚:云计算让理想平等
查看>>
《中国人工智能学会通讯》——11.30 深度迁移学习
查看>>
Dell EMC扩充数据保护产品线 Data Domain增强云分层功能
查看>>
美柚社区精选:贴心宝妈的八大育儿经验
查看>>
走进医疗明星企业之北京天坛普华医院
查看>>
一点资讯电影贴片广告以假乱真
查看>>
曙光出炉“数据中国加速计划”
查看>>
中国制造2025新机遇 机器视觉行业爆发
查看>>
中国工商银行阿根廷分行用数据运营展现本地特色
查看>>
使用闪存存储的优势与注意事项
查看>>
网络钓鱼防不胜防:大型科技公司竟被骗逾1亿美元
查看>>
网络间谍活动月光迷宫已演变成Turla
查看>>
欧洲运营商展开5GTango项目 应对特定行业市场
查看>>
Windows 10创作者更新将改进蓝牙功能
查看>>
睿联嘉业边缘融合大屏幕多媒体会议系统方案
查看>>
凯立德货车专用导航 应“运”而生
查看>>
聊天机器人真正的潜力,潜藏在个人金融领域
查看>>
英特尔或推可超频Kaby Lake酷睿i3处理器: 重拾赛扬300A荣光?
查看>>
要想在未来立足 微软等软件公司就必须折本研发硬件
查看>>