private static Coordinate[] getCircleCoordintaes() {
Coordinate coordinates[] = {new Coordinate(0, 0)};
return coordinates;
}
以上程序正常工作。在上面的返回程序中,坐标数组首先初始化了数组 使用这一行
Coordinate coordinates[] = {new Coordinate(0, 0)};
然后返回坐标。
但是当我尝试直接返回到线下时,就会出现异常。
{new Coordinate(0, 0)}
实际上我正试图找到一种直接返回坐标数组的方法。我想跳过分配步骤。可能是我做错了。
如何直接返回此数组?有什么建议吗?
答案 0 :(得分:10)
return new Coordinate[] { new Coordinate(0, 0) }
详细说明,您正在使用的构造({new Coordinate(0, 0)};
)称为Array initilizer,根据JLS,只能在声明中使用或作为Array creation expression的一部分使用。
可以在声明中指定数组初始值设定项(§8.3,§9.3, §14.4),或作为数组创建表达式(第15.10节)的一部分来创建 一个数组并提供一些初始值。
ArrayInitializer: { VariableInitializersopt ,opt }