在这种情况下,适当的演员是什么?

时间:2016-06-02 21:18:52

标签: java exception casting

我有以下类能够执行自身的深层复制。

public class XPolygon {
    private XVector[] points;

    XPolygon(XVector... points)
    {
        this.points = points;
    }

    public XPolygon copy()
    {
        return new XPolygon((XVector[])Arrays.stream(this.points).map(XVector::copy).toArray());
    }
}

请将此视为学术活动。调用实例的copy方法时,会生成以下异常:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LXVector;
    at XPolygon.copy(XPolygon.java:17)

调用XPolygon构造函数以防止发生错误的正确方法是什么?

0 个答案:

没有答案