java – 使用反射检索对象的数据类型

前端之家收集整理的这篇文章主要介绍了java – 使用反射检索对象的数据类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个初始化的对象:

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);.

猜你在找的Java相关文章