我想检索存储在hashmap中的对象,所有对象都属于同一类型并希望将它们存储在数组中。我尝试了很多东西,但仍然没有成功: Holding 是一个由抽象类 AbstractHolding实现的接口,并由Book 和 Video两个类进一步扩展,它们还实现了标准实践的接口。我已经使用视频和书籍类的构造函数存储了这些项目,并且在使用调试时它显示了正确的长度和内容。我写了这段代码...
public Holding[] getAllHoldings() {
System.out.println(holdingMap.values().toArray().length);
Holding[] holding = (Holding[])holdingMap.values().toArray();
return holding;
}
但得到 [Ljava.lang.Object; 不能转换为 [Llms.model.Holding;
我不明白存储的对象何时是 Holding 类型,那么为什么会发生这种转换错误...