Как исправить «аннотации типов здесь недопустимы» при передаче аргумента массива int? - PullRequest
0 голосов
/ 27 июня 2019

Я создал метод, который принимает целочисленный массив в качестве параметра. Однако я получаю сообщение об ошибке «Тип аннотации здесь недопустимы» при передаче аргумента в форму {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 Ответ

1 голос
/ 27 июня 2019

Синтаксис для литерального массива: new int[]{1, 2, 3};.В особом случае вам разрешается писать {1, 2, 3} в объявлении переменной, например:

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

Однако синтаксис особого случая {1, 2, 3} не разрешен в других местах, например впозиция аргумента (где вы пытались это записать).

Сообщение об ошибке «аннотации типов здесь недопустимы» вводит в заблуждение, и ваша проблема не имеет ничего общего с аннотациями типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...