首页 > 解决方案 > 在 Java 中返回接口的 com.badlogic.gdx.utils.Array<>

问题描述

我试图声明方法:

public Array<Shape2D> getShapes(){
...
}

我得到了编译器错误,那个';' 在圆括号之前缺少。并且return里面的语句getShapes也用提示“无法从 void 返回类型的方法返回值”下划线。我不得不说我是 Java 新手,但我认为它会起作用。我不能返回 Array<> 类型吗?

标签: javalibgdx

解决方案


在 Java 中,Array.class没有类型参数。相反,您可以做的是Shape2D[]这个特定类型的实际数组。如果您的编译器发现涉及 void 返回的问题,可能是因为Array<Shape2D>这不是您声明数组的方式。因此,它认为它是一个 void 类型的方法。

在这种情况下,您的代码需要如下所示:

public Shape2D[] getShapes(){
...
}

如果 Array.class 不是下面提到的那个,那么您可能已经导入了其他东西。

提及类: java.lang.reflect.Array


推荐阅读