繁体   English   中英

具有可序列化和自定义接口的可序列化对象的Java RuntimeException

[英]Java RuntimeException for serializable object with Serializable and Custom Interface

我遇到以下问题:

假设我有一个RiceContainerClass像这样:

public class RiceContainerClass implements Serializable{
 private typeOfRice
 private countryOfOrigin

 ...

我可以扩展这个类,(也许我想要一些SteamedRiceClass ),但是最重要的是,我能够在Activities与当前的实现之间传递这个类。

当我决定我的Rice类可能需要带有Sauceable接口时,就出现了Sauceable

我写了界面:

public interface Sauceable{

  public void setTypeOfSauce(Sauce sc)

  public Sauce getRiceSauce()
}

(在我的程序中, Sauce实际上是Drawable

当我修改RiceContainerClass来实现Sauce接口时:

public class RiceContainerClass implements Serializable, Sauceable

我在运行时从logcat中收到以下错误:

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.example.app.RiceContainerClass)

有什么建议吗? 我试图使Sauce类扩展Serializable ,以为那可能没有用。

这意味着app.RiceContainerClass不可Serializable

只要确保此类实现了Serializable接口并定义用于写入和读取Object的方法即可。

您可以在此处查看一些示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM