实例:
实体类TestBean
class TestBean implements Serializable{
String title;
boolean isShow = true;//这里给isShow设置了默认值,坑点
}
反序列化代码:
new Gson().fromJson("{title:\"标题\"}", TestBean.class);
预计得到的结果:
TestBean.title 值等于 “标题”
TestBean.isShow 值等于 “true”
实际得到的结果:
TestBean.title 值等于 “标题”
TestBean.isShow 值等于 “false”
解决方案:让TestBean实现简单重构。
class TestBean implements Serializable{
public TestBean() {
}
String title;
boolean isShow = true;
}
原因待补充。。。

本文探讨了使用Gson进行Java对象反序列化时遇到的一个常见问题:即使字段已设置默认值,在反序列化过程中该默认值仍可能被忽略。通过一个具体例子,展示了如何通过简单重构解决这一问题。
2891

被折叠的 条评论
为什么被折叠?



