hashmapに格納されているオブジェクトを取得したいのですが、すべてのオブジェクトは同じタイプであり、それらを配列に格納したいと考えています。私はたくさんのことを試しましたが、まだ成功していません .Holdingは抽象クラスAbstractHoldingによって実装されたインターフェースであり、 BookとVideoの2つのクラスによってさらに拡張され、標準的な実践であるインターフェースも実装しました. ビデオとブッククラスの両方のコンストラクターを使用してアイテムを保存しましたが、デバッグの使用中に正しい長さとコンテンツが表示されます。私はこのコードを書きました...
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 の場合、なぜこのキャスト エラーが発生するのかわかりません...