少し初心者です。面白いかどうか、私は空の型付きの配列を作成する方法を知りません。私のクラス:それらを格納Java、ハッシュマップを配列または空の配列に変換します。
class Depot
{
}
:
private final HashMap<Integer, Depot> depots;
depots = new HashMap<>();
と私はそれらを返すようにしたい:配列として
public Depot[] getDepots()
{
if (depots.values().isEmpty())
{
return (Depot[]) new Object[0]; ***
}
else
{
return depots.values().toArray(new Depot[depots.values().size()-1]);
}
}
。今ではデポがないとき、それはやっかいな部分になります。まず、この行depots.values().size()-1
は失敗します。 return (Depot[]) new Object[0]
; OKだと思われますが、まだ例外が発生します:java.lang.ClassCastException:[Ljava.lang.Object; cannot be cast to [Depot;
なぜ 'new Depot [0]'だけではないのですか? – SomeJavaGuy