标签: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;

}

}

标签:

java 获取field类型_获取Java类中所有Field相关推荐

  1. java实体类中有枚举类型_当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?...

    当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...

  2. java invoke 返回类型_解析Java反射 - invoke方法

    最近工作中涉及到获取同程火车票,大概描述为:将本地获取的发出城市,目的城市及出发时间按固定格式封装,调用接口获取可乘坐座席等级最高的火车票,接口返回数据用包含三层类封装的类接受,接受的类总共为四层,倒 ...

  3. java 反射驻足类型_《Java虚拟机规范》阅读(三):Class文件格式

    每一个Class都对应着唯一的一个类或借口的定义信息.这里,我们称为"Class文件格式"只是通俗的将任意一个符合有效的类或借口的格式这么称呼,但是它并不一定是以磁盘文件的形式存在 ...

  4. java数组子类型_[改善Java代码]数组的真实类型必须是泛型类型的子类型

    List接口的toArray方法可以把一个结合转化为数组,但是使用不方便,toArray()方法返回的是一个Object数组,所以需要自行转变. toArray(T[] a)虽然返回的是T类型的数组, ...

  5. java 需要返回类型_在Java中,当一个方法不需要返回数据时返回类型必须是

    [问答题]在滑动轴承中什么是瓦背?其特点有哪些? [多选题]起重机采用变频调速改造后,有哪些效果? [判断题]当热继电器动作不准确时,可用弯折双金属片的方法来调整. [单选题]X62W型万能铣床进给电 ...

  6. java无法实例化类型_关于java:无法实例化类型List

    本问题已经有最佳答案,请猛点这里访问. 我有以下代码: List product = new List(); 错误: Cannot instantiate the type List Product是 ...

  7. java识别文件类型_在Java中识别文件类型

    我使用 Apache Tika,它使用魔术字节模式和globbing提示(文件扩展名)来识别文件类型,以检测MIME类型.它还支持对文件内容的其他解析(我不真正使用). 以下是一个简单而肮脏的例子,说 ...

  8. java 反射创建属性_使用Java反射机制确定基本数据类型属性

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java反射机制提供了一种强大的应用程序接口来帮助我们在运行时检测和执行对象上的操作.该机制允许程序员审视一个未知对象,并且获得它的属性,例如对象上的方法 ...

  9. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  10. java枚举返回字符串_枚举工具类-通过给定值获取对应的枚举类

    开发背景: 在开发过程中遇到需要通过给定的值来获取对应的枚举值,如下例枚举类中,需要通过传入"春"来获取SPRING. public 开始尝试通过Enum的内置方法valueOf( ...

最新文章

  1. 微信正在用的深度学习框架开源!支持稀疏张量,基于C++开发
  2. openCV—Python(6)—— 图像算数与逻辑运算
  3. windows环境中利用NMake工具编译连接C++源代码
  4. 快消行业指的是哪些?
  5. rest web服务_在WildFly的REST Web服务中与Jackson的双向关系
  6. datagrid如何获取一行数据中的某个字段值_或许是全网最全面关于数据库面试题...
  7. DW —— 简易计算器 (JavaScript)
  8. 【Struts2】剖析Struts2中的反射技术 ValueStack(值栈)
  9. django mysql port,Django使用MySql数据库
  10. 多幸运用计算机演奏的乐谱,多幸运钢琴简谱-数字双手-韩安旭
  11. AtCoder ABC172 E - NEQ(组合数 + 容斥原理)
  12. Windows自带虚拟机的使用方法
  13. 打开计算机无法关闭窗口,电脑中“打开或关闭Windows功能”窗口出错无法显示怎么解决...
  14. 这可能是JAVA程序员进阶架构师的最佳之路了 !
  15. 关于建立北京市专业技术人员职业资格与职称对应关系的通知
  16. git小文件时报错Remote origin does not support the LFS
  17. 聊聊 Java 的单元测试
  18. 意大利法院认可GPL开源协议的法律效力
  19. 球半足球比分,韩K联:江原FC - 金泉尚武 07月08日
  20. WPF内部DeliverEvent读锁和PrivateAddListener写锁导致死锁

热门文章

  1. 用vb调用bartender并打印
  2. 计算机硬盘格式化与储存原理
  3. 自动发片q机器人_寻片机器人(微信群自动回复工具)V2.6.853 正式版
  4. MobSF分析.ipa文件,MobSF分析iOS app
  5. docker安装文档(多种方式)
  6. Android 图片文字识别
  7. MODB:软体动物线粒体基因组数据库
  8. 5分+细胞器基因组好文!多线南蜥线粒体基因组及比较基因组研究
  9. 双引号后面要加句号吗_省略号后面可以加句号吗
  10. 闵行区电动自行车上牌地址