我有List<Animal>
但在该列表中我有Animal
的子类,例如Mammal
。
我应该使用[Serializable]接口来保持它并且这没有问题,除非我再次读回它,我不知道在恢复信息的时候数据来自哪个子类。
所以问题是,我该如何存储这些信息?
答案 0 :(得分:4)
您不需要自己处理,因为框架序列化了类型,它知道在实际反序列化内容之前要创建哪个实例。只需创建一个样本,您就会看到会发生什么......; - )
答案 1 :(得分:1)
和 关键字将成为您的朋友。
很高兴知道是关键字尝试执行强制转换并返回true或false,具体取决于强制转换是否成功。
如果你想要实际的对象,而不只是对它的类型感兴趣,你最好使用 as 关键字,然后检查 null 。这将为您节省在确定类型后再次投射它的步骤。