问题描述
我试图声明方法:
public Array<Shape2D> getShapes(){
...
}
我得到了编译器错误,即“;”在圆括号之前缺少。并且return
内的getShapes
语句也带有下划线提示:“无法从void返回类型的方法返回值”。我必须说我是Java的新手,但我认为它可以工作。我不能返回Array 类型吗?
解决方法
在Java中,Array.class
没有类型参数。
您可以做的是Shape2D[]
,它是此特定类型的实际数组。
如果您的编译器发现涉及void返回的问题,则可能是因为Array<Shape2D>
不是声明数组的方式。因此,它认为这是一个空类型方法。
在这种情况下,您的代码需要如下所示:
public Shape2D[] getShapes(){
...
}
如果Array.class不是下面提到的那个,则您可能已经导入了其他内容。
提及类别: java.lang.reflect.Array
,我没有看到方括号,并尝试在其他方法中声明方法。抱歉浪费您的时间。