当前位置: 首页 > news >正文

Java:通过反射获取class类的属性

有如下一个普通类,我想获取他的所有属性值

package com.demo.bean;import lombok.Data;import java.util.List;@Data
public class UserBean {private String name;private Integer age;private List<String> tags;
}

可以通过反射的方式获取属性值

package com.demo;import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;public class BeanUtil {public static List<String> getFields(Class<?> clazz) {List<String> fields = new ArrayList<>();// 获取所有属性(包括私有的)Field[] allFields = clazz.getDeclaredFields();for (Field field : allFields) {fields.add(field.getName());}return fields;}
}

测试

package com.demo;import com.demo.bean.UserBean;
import org.junit.jupiter.api.Test;import java.util.List;import static org.junit.jupiter.api.Assertions.*;class BeanUtilTest {@Testvoid getFields() {List<String> fields = BeanUtil.getFields(UserBean.class);System.out.println(fields);}
}

输出

[name, age, tags]

也可以将class转为map对象,获取key的集合

可参考:Java:Bean实体对象和Map互相转换

http://www.lryc.cn/news/415499.html

相关文章:

  • 07.FreeRTOS列表与列表项
  • 餐饮业油烟净化器安装势在必行,切勿侥幸
  • SpringBoot集成阿里百炼大模型 原子的学习日记Day01
  • 【网络编程】网络原理(一)
  • 鲁班上门维修安装系统源码开发之功能模式
  • 图数据处理的新时代:阿里FraphCompute与蚂蚁金服TuGraph对比综述
  • InnoDB引擎下SQL的执行流程
  • Java小白入门到实战应用教程-重写和重载
  • 微力同步如何安装使用并使用内网穿透配置公网地址远程访问
  • nginx负载聚能
  • Python进阶 JSON数据,pyecharts制图
  • polyglot,一个有趣的 Python 库!
  • 4.3.语言模型
  • (学习总结10)C++类和对象1
  • 进击大数据系列(一):Hadoop 基本概念与生态介绍
  • 评价类算法--模糊综合评价算法模型
  • 哪些系统需要按照等保2.0进行定级?
  • 自注意力和位置编码
  • “文件夹提示无法访问?高效数据恢复策略全解析“
  • 结构开发笔记(一):外壳IP防水等级与IP防水铝壳体初步选型
  • WPF Datagrid控件,获取某一个单元格中的控件
  • P10838 『FLA - I』庭中有奇树
  • WebRTC简介
  • 一套直播系统带商城源码 附搭建教程
  • Netty 总结与补充(十)
  • 循环实现异步变同步的问题
  • 测试GPT4o分析巴黎奥运会奖牌数据
  • TF卡(SD NAND)参考设计和使用提示
  • 电源芯片负载调整率测试方法、原理以及自动化测试的优势-纳米软件
  • C++威力强大的助手 --- const