【java】java获取对象属性类型、属性名称、属性值
java获取对象属性类型、属性名称、属性值
获取属性 修饰符:【在Field[]循环中使用】
String modifier = Modifier.toString(fields[i].getModifiers());
/** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = "get" + firstLetter + fieldName.substring(1); Method method = o.getClass().getMethod(getter, new Class[] {}); Object value = method.invoke(o, new Object[] {}); return value; } catch (Exception e) { log.error(e.getMessage(),e); return null; } } /** * 获取属性名数组 * */ private String[] getFiledName(Object o){ Field[] fields=o.getClass().getDeclaredFields(); String[] fieldNames=new String[fields.length]; for(int i=0;i<fields.length;i++){ System.out.println(fields[i].getType()); fieldNames[i]=fields[i].getName(); } return fieldNames; } /** * 获取属性类型(type),属性名(name),属性值(value)的map组成的list * */ private List getFiledsInfo(Object o){ Field[] fields=o.getClass().getDeclaredFields(); String[] fieldNames=new String[fields.length]; List list = new ArrayList(); Map infoMap=null; for(int i=0;i<fields.length;i++){ infoMap = new HashMap(); infoMap.put("type", fields[i].getType().toString()); infoMap.put("name", fields[i].getName()); infoMap.put("value", getFieldValueByName(fields[i].getName(), o)); list.add(infoMap); } return list; } /** * 获取对象的所有属性值,返回一个对象数组 * */ public Object[] getFiledValues(Object o){ String[] fieldNames=this.getFiledName(o); Object[] value=new Object[fieldNames.length]; for(int i=0;i<fieldNames.length;i++){ value[i]=this.getFieldValueByName(fieldNames[i], o); } return value; }
【java】java获取对象属性类型、属性名称、属性值相关推荐
- Java ArrayList 某中学有若干学生,每个学生有一个姓名属性、班级名称属性和考试成绩属性
题目:某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性.班级名称属性(String)和考试成绩 属性(int),某次考试结束后,每个学生都获得了一个 考试成绩.请打印出每个班级的 ...
- 获取对象的接口信息(方法/属性/事件)(VB6代码)
要不是WS的超级绿豆提起这东西,我还不知道呢.... 真是个好玩意!!能列出一个对象的接口,包括方法,属性,事件.....微软直接做了啊. 记录一下,以后要用到时免得忘了: Option Explic ...
- JAVA之获取JavaSwing单选框JRadioButton选中的值(内容)
JAVA之获取JavaSwing单选框JRadioButton选中的值(内容) package word;import java.awt.BorderLayout; import java.awt.C ...
- java反射之Field用法(获取对象的字段名和属性值)
一.概述 Field是一个类,位于java.lang.reflect包下.在Java反射中Field类描述的是类的属性信息,功能包括: 获取当前对象的成员变量的类型 对成员变量重新设值 二.如何获取F ...
- Java反射获取对象的属性值
当知道某个类,想获取类上的某个属性的值时,有时会用到Java的反射机制,如下参考: /*** 反射获取对象的属性值* @param object 对象(要遍历的对象)* @param targetFi ...
- java数组子类型_在vhdl中获取数组子类型的范围属性
您的问题是您尝试在类型上使用属性 . 但是,范围仅定义为数组(因此原型中为A) . 这意味着,即使数组类型受到约束,也需要使用实际数组 . -- Declarations -- Constrained ...
- 通过Java反射获取对象上的注解,java反射注解妙用-获取所有接口说明
原标题:java反射注解妙用-获取所有接口说明 转载请注明出处:https://www.cnblogs.com/wenjunwei/p/10293490.html 前言 最近在做项目权限,使用shir ...
- java 反射获取对象_java 反射-反射对象的获取
java.lang.Class对象的获取方式 @SuppressWarnings("all") //压制警告 public class Deam { public static v ...
- JAVA中所有对象的超类是_在Java中获取对象的超类
可以使用java.lang.Class.getSuperclass()方法获得任何实体的直接超类,例如对象,类,原始类型,接口等.此方法不包含任何参数. 演示此的程序如下所示- 示例public cl ...
- java 反射获取对象_使用Java反射机制获取对象
本文由广州疯狂软件教育java培训分享: 构造接口Person,所有Person都会问好,但具体讲什么语言就不知道了! package interf; public interface Person ...
最新文章
- 网站推广专员浅析网站推广中网站优化的价值取向究竟为何?
- day03: oracle的sql增 、删、改,事务处理
- 解決BufferedReader读取UTF-8文件中文乱码(转)
- 4.2 数据集划分-机器学习笔记-斯坦福吴恩达教授
- 2018-2019年度 AI方向Top10 综述
- python面向对象抽象
- 多目标分类的混淆矩阵_用于目标检测的混淆矩阵
- MFC,QT与WinForm,WPF简介
- lambda表达式或者匿名函数中为什么要求外部变量为final
- 低格硬盘用什么软件_迟来的评测:用了三年后的固态硬盘会变成什么样呢?
- [LibTorch] 参数注册 模块注册
- 【Linux】肝!Shell 脚本编程最佳实践
- 联筑赚:2021年1月份全国盘扣脚手架PMI为32.0%
- 【桶哥的问题——吃桶-简化版】【洛谷p2671】求和
- 商城后台管理系统学习日志-02
- donet还是java
- Vue路由守卫(导航守卫)及使用场景
- c语言题库16页,C语言题库(完整版)(16页)-原创力文档
- kali局域网APR攻击三https降级为http+网站账号密码获取
- php.net国内镜像及php源码下载[非常快]
热门文章
- Android Volley完全解析3:定制自己的Request
- 外网访问 KVM 虚拟机
- CAD2015软件安装资料及教程
- mach空串 php preg_PHP 优化详解
- iis7+php_5.5,IIS7+php5.5+fastcgi
- idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
- 鸿蒙适配倒计时,倒计时2天!首批鸿蒙OS适配名单确定,你的手机在列吗?
- php 搜索名称或者编号,ECSHOP商品关键词模糊分词搜索插件,商品列表关键字加红功能-ecshop插件网...
- 计算机右键管理中没有用户管理,我的电脑右键菜单中没有管理选项如何解决? 我的电脑右键菜单中没有管理选项解决的方法有哪些?...
- springboot单例模式注入对象_springboot 请求流程简介