获取Object对象中属性的值

这篇博客通过一个Java示例展示了如何使用反射获取Object对象中的属性值。首先创建了一个VideoEntity实体类,然后将其转换为Object类型并放入SessionRecord实体类的msgContent属性中。接着通过反射获取SessionRecord中的msgContent对象,再进一步获取VideoEntity的sdkfileid属性值。最终成功打印出该属性值。
摘要由CSDN通过智能技术生成

获取Object对象中属性的值

怎么获取到Object对象中属性的值呢?我们用一个demo来测试一下

public static void main(String[] args) throws Exception {
		//实体类
		VideoEntity ve = VideoEntity.builder()
			.sdkfileid("sdsd")
			.build();
		//实体类强转成Object对象
		Object o = (Object) ve;
		//放到一个大的实体类作为一个属性
		SessionRecord build = SessionRecord.builder()
			.msgContent(o)
			.build();
		System.out.println(build);
		//反射获取到一个类对象
		Class<?> aClass = build.getMsgContent()
			.getClass();
		//获取指定的字段
		Field sdkfileid = aClass.getDeclaredField("sdkfileid");
		//这里需要设置可访问,因为在 ve 这个实体类里面我用的private修饰的,不加这一行会直接报错,如果是public可以跳过这一行
		sdkfileid.setAccessible(true);
		//获取属性值,强转成String类型,到这里就能获取到对象属性的值啦!!!
		String o1 = (String) sdkfileid.get(o);
		System.out.println(o1);
	}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值