有一个项目使用 Jackson,并有一个 Java 对象 Data。在对象中,有一个属性,也是一个对象Raw。在这个对象中,有一个属性,List<Object[]>
例如:
public class Data{
Raw raw;
}
public class Raw{
List<Object[]> list;
}
如果Object[]
有一个数据类型:long
,我给一个值:123,那么杰克逊会将此数据类型转换为int
,
即:如果值为length < long && > int
,则数据类型也是long
,如果length < int
,则数据类型将变为int
。
我使用的方法:
byte[] bytes = writeValueAsBytes(Data), Data data = readValue(bytes, Data.class)
转换时如何保留原始数据类型?