IHello!ClassCast在运行时异常时,我想将一个类型转换为它的子类进行克隆
我想克隆具有超类型“A”的对象“B”。 在“B”的clone()方法中,我调用super.clone()(“A”的方法)。此方法返回一个“A”类型的克隆和设置字段。
在“B”的clone()方法,我从super.clone()来“预构建”返回的对象,我想继续克隆。所以我必须将它投入到“B”型对象中。
在编译的时候没有问题,但它在运行时崩溃一个ClassCastException。
是否可以将对象转换为其子类型? 还是必须克隆“B”clone()方法中的所有字段(即使是“A”类字段)?
谢谢。
也许有点offtopic这里,但我使用Apache的百科全书假设是匹配的制定者BeanUtils.copyProperties()/吸气剂是可用的。不知道它如何实施,所以可能会产生副作用。我意识到这并不能回答这个问题,但在过去遇到类似问题时帮助了我 – jambriz 2012-02-01 18:50:49