xiaoleecr 2017-09-21 01:20 采纳率: 0%
浏览 1556

Object强转成MorphDynaBean为什么会有属性值丢失?

情况是这样:我将Student对象转成json存到数据库里,然后再从数据库里把json字符串
取出来还原成Student对象时就发现有GPA这个属性的值变成了null了,并且该属性由原来的Double类型变成了Integer类型

public static void save(Json synJsonStr){
//这里的synJsonStr就是从数据库取到的json字符串,debug的时候看到了json里的值是没有问题的
DataSynObj dso = JsonUtil.toBean(synJsonStr, DataSynObj.class);
List insertDataList = dso.getInsertDataList();
for (Object object : insertDataList) {
MorphDynaBean oldBean = (MorphDynaBean) object;
}

}

//这是数据同步类

public class SynObj{
private List insertList;
private List updateList;
private List deleteList;

public List<Object> getInsertDataList() {
    return insertDataList;
}
public void setInsertDataList(List<Object> insertDataList) {
    this.insertDataList = insertDataList;
}
public List<Object> getUpdateDataList() {
    return updateDataList;
}
public void setUpdateDataList(List<Object> updateDataList) {
    this.updateDataList = updateDataList;
}
public List<Object> getDeleteDataList() {
    return deleteDataList;
}
public void setDeleteDataList(List<Object> deleteDataList) {
    this.deleteDataList = deleteDataList;
}

}

//这是学生实体类
public class Student{
private Double GPA;
public Double getGPA() {
return GPA;
}
public void setGPA(Double addressKilometers) {
this.GPA = GPA;
}
}

问题就在"MorphDynaBean oldBean = (MorphDynaBean) object;"这一步,转换的时候GPA的类型就变成了Integer,赋值也变成了null

还有个表现就是:我在本机测试没有问题,在另一台机器上测试就会出现这个bug,jdk版本都是1.7

  • 写回答

2条回答 默认 最新

  • HELLOhanlu 2017-09-21 01:37
    关注

    会不会因为大小写问题啊

    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作