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 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多