如何在Java中使用转换器?

时间:2015-08-14 16:45:50

标签: java

我有下一个代码:

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中找到方法。

谢谢!

1 个答案:

答案 0 :(得分:4)

括号是这里的问题。您输入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