我在以下代码中收到 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 类的派生词吗?如果是这样,为什么还会发生这种转换错误?