gpt4 book ai didi

java - Java 中的强制转换怎么不起作用?

转载 作者:行者123 更新时间:2023-12-01 18:12:23 25 4
gpt4 key购买 nike

我有下一个代码:

if(lineaCurvaPintada){
FiguraGeometrica f;
MiLineaCurva c;
(MiLineaCurva)vShape.get(vShape.size()-1).setCtrlx(evt.getPoint().x);
}

其中 FiguraFeometrica 是一个抽象类。 MiLineaCurva 是从 FiguraGeometrica 延伸而来的。setCtrlx 是 MiLineaCurva 类的方法。

vShape 是 FiguraGeometrica 的数组。

为什么我无法访问 MiLineaCurva 方法?Netbeans 给我的错误是:无法在 FiguraGeometrica 类中找到方法。

谢谢!

最佳答案

括号是这里的问题。您正在对 vShape.get(vShape.size()-1).setCtrlx(evt.getPoint().x) 的结果进行类型转换。修复代码如下:

((MiLineaCurva)vShape.get(vShape.size()-1)).setCtrlx(evt.getPoint().x);
^-----------------------------------------^

请注意,如果 vShape.get(vShape.size()-1) 中的对象不是 MiLineaCurva 类型,那么您将收到 ClassCastException.

关于java - Java 中的强制转换怎么不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32014969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com