java如何将映射转换为对象
我有一个Map对象,Map中的数据如下
col1 -> data1, col2 -> data2, col3 -> data3 ...
是否可以将此映射转换为类似Java的对象
class MapObj {
String col1 = "data1";
String col2 = "data2";
String col3 = "data3";
}
你可以在下面搜索框中键入要查询的问题!
我有一个Map对象,Map中的数据如下
col1 -> data1, col2 -> data2, col3 -> data3 ...
是否可以将此映射转换为类似Java的对象
class MapObj {
String col1 = "data1";
String col2 = "data2";
String col3 = "data3";
}
# 1 楼答案
地图上有固定的命名条目吗?如果是这样的话,您可以直接创建MapObj类,并通过说
myMapObj.col1 = myMap.get("col1");
等等来分配这三个字段但是暂时从这个问题退一步,你想解决的更大的问题是什么?地图本身实际上已经是这个数据的一个非常方便的容器,所以也许你可以将地图用于你计划使用MapObj的相同目的
# 2 楼答案
小坚果。填充(条目、地图)
# 3 楼答案
使用杰克逊
# 4 楼答案
虽然可以在运行时使用自定义类装入器创建类,但这相对来说毫无意义。如何访问这些字段(反射和其他动态创建的类除外)
# 5 楼答案
我不知道有任何预先制作的lib可以为您实现这一点,但使用
java.lang.reflect
API应该非常简单。特别是字段#set*方法。当然,您需要有一个预定义的类,其中定义了字段(键)# 6 楼答案
我认为把一堆映射值放到一个类中没有任何意义。 如果您想要静态访问,为什么不尝试相反的方法:
这样,您的应用程序就不需要了解地图,也不会因为反射而迷路