为了账号安全,请及时绑定邮箱和手机立即绑定

Gson无法在Java中使用父类

Gson无法在Java中使用父类

慕哥6287543 2021-04-30 18:42:32
我有三个类UserMini,User和Reply。用户扩展UserMini,并在回复中包含一个UserMini对象以及内容和其他信息。在Reply类中创建UserMini(this.user)对象,如下所示:private void getUserObject () {   this.user = (UserMini)new User(email, fname,  lname, userid...);}UserMini类仅存储用户的fname和lname。我要执行以下操作:返回带有所有信息的Reply类的JSON值。我在答复类中使用以下代码来做到这一点:@Overridepublic String toString() {    return new Gson().toJson(this);}这样做很好,存储在Reply对象中的所有内容的JSON映射。但是对于Reply的UserMini对象,输出以下值:user:    accessToken: "0",    email: "email@gmail.com",    firstName: "FirstName",    lastName: "LastName",    picturePath: "Pic_path",    refreshToken: "0",    userId: "2"如您所见,我将父对象存储在Reply类中,尽管如此,Gson仍输出子对象的属性。我想避免使用Gson适配器,还有其他方法可以使Gson输出MiniUser Object的以下值:user:    firstName: "FirstName",    lastName: "LastName"
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

Gson正在使用getClass()方法确定对象的类型。反射是运行时。getClass()返回对象的实际类型运行时,而不是最初声明的变量的静态类型。强制转换不会更改变量类型,只是告诉编译器将变量视为其他类型。编译强制转换丢失后,已编译的程序将没有有关代码中强制转换的信息。


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 236 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信