次のコードで ClassCastException を取得しています。
Destination[] destinations;
ArrayList<Destination> destinationsList = new ArrayList<Destination>();
// .....
destinations = (Destination[]) destinationsList.toArray();
私の宛先クラスは次のようになります。
public class Destination {
private String code;
Destination (String code) {
this.code = code;
}
public String getCode () {
return code;
}
}
構文的にはエラーは発生しません。これは実行時にのみ発生します。すべてのクラスが本質的に Object クラスの派生物ではないため、混乱していますか? もしそうなら、なぜこのキャスト変換エラーが発生するのでしょうか?