传递int数组参数时,如何解决“此处的类型注释不合法”?

时间:2019-06-27 00:23:22

标签: java annotations

我创建了一个以整数数组为参数的方法。但是,在将参数传递给{int1, int2, int3}形式时,出现了错误“类型注释在这里是非法的”。

我尝试先创建一个整数数组,为它分配一个值,然后传递该数组,它工作得很好。调用方法时将创建参数变量,因此应接受传递参数的{int1, int2, int3}数组方法。我搜索了“此处的类型注释不合法”错误,但找不到任何相关信息。


public class Game {

    public static void main(String[] args) {
        int noOfGuesses;
        String result = "";
        int startLoc = 1;

        Battlefield dot = new Battlefield();

        dot.setLocation({startLoc,startLoc+1,startLoc+2});

我在指向dot.setLocation(...)方法调用时遇到错误。

public class Battlefield {
    int noHits=0;
    int position[];

    void setLocation(int startPosition[])
    {
        this.position= startPosition;
    }

上面的代码是setLocation()的定义。

1 个答案:

答案 0 :(得分:1)

文字数组的语法是 new int[]{1, 2, 3};。 作为一种特殊情况 您可以在变量声明中编写{1, 2, 3},例如:

int[] myIntArray = {1, 2, 3};

但是,特殊情况的语法{1, 2, 3}不允许在其他位置使用,例如在参数位置(您尝试编写的位置)。

错误消息“此处的类型注释是非法的”具有误导性,并且您的问题与类型注释无关。