Serializable引起的崩溃
在我们的项目中,出现了这样一个异常:java.io.NotSerializableException
原代码是这样的
class UserInfo : java.io.Serializable {
@SerilizedName("vip_info")
var vipInfo: VipInfo? = null
class VipInfo {
@SerilizedName("level")
var level: Int = 0
@SerilizedName("end_time")
var endTime: String? = null
}
}
在Android中使用时,我将它作为一个参数,通过Bundle传递给Fragment,但是在序列化时报错了。
原因及解决方案
原因:
此类中还调用了其他的类对象(也就是上文中的VipInfo),调用的类对象必须一并实现Serializable。
解决方案
让VipInfo
也实现Serializable
接口
class UserInfo : java.io.Serializable {
@SerilizedName("vip_info")
var vipInfo: VipInfo? = null
class VipInfo : java.io.Serializable {
@SerilizedName("level")
var level: Int = 0
@SerilizedName("end_time")
var endTime: String? = null
}
}