java – 使用反射检索对象的数据类型
发布时间:2020-12-14 06:08:44 所属栏目:Java 来源:网络整理
导读:我有一个初始化的对象: Object obj = new Object(){ final String type = "java.lang.Integer"; final Object value = 6;}; 我想重新创建这个对象: Integer i = 6; 有什么方法可以获取obj对象的类型字段并使用反射创建一个新实例并将其中的值提供给它? 编
我有一个初始化的对象:
我想重新创建这个对象:
有什么方法可以获取obj对象的类型字段并使用反射创建一个新实例并将其中的值提供给它? 编辑:在扩展这个问题后,我发现如果我将对象存储在文件中并使用Jackson使用以下文件从文件中检索它:
而MyClass定义为:
现在我正在迭代字段并使用代码将它们转换为适当的对象:
但是当我观察表达式field.getClass()时,它给了我LinkedHashMap作为它的类.我很困惑为什么,如果它被内部对待为Map,如果我想用反射做而不使用具体的数据结构,那么我将剩下哪些选项,以便一切都是通用的. 最佳答案
这将从您的对象中检索类型字段的值:obj.getClass().getDeclaredField(“type”).get(obj);.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java源码解析|String源码与常用方法
- 如何在Java VisualVM中查看内存分配stacktrace
- Jdk1.8 HashMap实现原理详细介绍
- 坚持PreparedStatements是否昂贵? (Java和JDBC)
- java – 如何克服org.springframework.dao.RecoverableData
- java – 使用NetBeans 8,但低于Lambda表达式的编译错误
- java文件输出流写文件的几种方法
- Java:我如何看到我的代码的哪些部分运行最多? (分析)
- java – Arrays.asList()的问题
- java – 如何在IntelliJ中运行Play Framework 2.1项目?