-
5 votesanswersviews
Downcasting和Box <Any>
pub struct WidgetWrap { // ... widget: RefCell<Box<Any>>, } 在某些时候我想将 Box<Any> 转换为 Box<WidgetTrait> let mut cell = widget.borrow_mut(); let w = cell.downcast_mut::<B... -
2 votesanswersviews
为什么在java中不允许这种贬低?
假设我有一个 Animal 的超类,以及 Dog 的子类 . 我们可以说: Animal a = new Dog(); 我们不能低声说: Dog b = new Animal(); 所以我明白动物不一定是狗 . 但是,为什么在狗容器中有动物“蓝图”会抛出异常呢?因为Dog继承了Animal的方法,当我们把这种动物放入狗容器中时,我们知道Dog继承/覆盖了Animal所有的方法,那为什么Java...