加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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对象的类型字段并使用反射创建一个新实例并将其中的值提供给它? 编

我有一个初始化的对象:

Object obj  = new Object(){
  final String type = "java.lang.Integer";
  final Object value = 6;
};

我想重新创建这个对象:

 Integer i = 6;

有什么方法可以获取obj对象的类型字段并使用反射创建一个新实例并将其中的值提供给它?

编辑:在扩展这个问题后,我发现如果我将对象存储在文件中并使用Jackson使用以下文件从文件中检索它:

Reader reader = new Reader();
MyClass[] instances = reader.readValue(fileName);

而MyClass定义为:

class MyClass{

  List

现在我正在迭代字段并使用代码将它们转换为适当的对象:

public static Class

但是当我观察表达式field.getClass()时,它给了我LinkedHashMap作为它的类.我很困惑为什么,如果它被内部对待为Map,如果我想用反射做而不使用具体的数据结构,那么我将剩下哪些选项,以便一切都是通用的.

最佳答案
这将从您的对象中检索类型字段的值:obj.getClass().getDeclaredField(“type”).get(obj);.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读