博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 中的反射技术
阅读量:4178 次
发布时间:2019-05-26

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

java代码

@SpringBootTest(classes = {ShujiegouApplication.class})@RunWith(SpringJUnit4ClassRunner.class)public class FansheTest {    @Test    public void test1() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {        SysColumn sysColumn = new SysColumn();        sysColumn.setId(1);        sysColumn.setColumnName("孙悟空");        sysColumn.setParentId(2);        sysColumn.setColumnRank(3);        sysColumn.setEnName("斗战胜佛");//        1.获取类对象        Class
guruClass = sysColumn.getClass();// 2.类对象获取属性对象数组(所有的属性) Field[] guruFields = guruClass.getDeclaredFields(); for (Field field:guruFields) {// System.out.println(field); System.out.println(field.getName()); } for (int i = 0; i < guruFields.length; i++) { //3.获取属性名 String guruFieldName = guruFields[i].getName();// 4.拼接出来get方法名 String getMethodName = "get"+guruFieldName.substring(0,1).toUpperCase()+guruFieldName.substring(1);// 5.通过方法名调用方法 获得方法返回值// 参数 方法名 参数类型(可变长参数) get方法没有 就写成空 Method getMethod = guruClass.getDeclaredMethod(getMethodName, null);// 执行该方法 参数 1.当前类对象所对应的对象 2.被调用方法所需要的参数 (可变长参数 数组) Object invoke = getMethod.invoke(sysColumn, null); System.out.println(invoke); } }}

运行后

idcolumnNameparentIdcolumnRankenName1孙悟空23斗战胜佛

输出的是属性名和属性值。

对应的实体类

@Data@AllArgsConstructor@NoArgsConstructor@Table(name = "sys_column")public class SysColumn {    @Id    private Integer id;    private String columnName;    private Integer parentId;    private Integer columnRank;    private String enName;}

这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!

欢迎加入技术群聊!
在这里插入图片描述

转载地址:http://rzoai.baihongyu.com/

你可能感兴趣的文章
HTML5学习之——HTML 5 Canvas
查看>>
HTML5学习之——HTML5 内联 SVG
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>
openocd zylin
查看>>
进程创建时文件系统处理
查看>>
内核线程创建
查看>>
linux中cat命令使用详解
查看>>
java中的异常机制
查看>>
商务智能-基本方法-数据钻取
查看>>