Объект в векторе не может быть преобразован в int - PullRequest
1 голос
/ 30 сентября 2019

У меня есть функция fillOval(int x, int y, int xSize, int ySize) и массив с 4 Vectors, созданные с помощью моего метода new2DVector.

Однако, когда я пытаюсь сделать:

for(Vector v : punkte) {
    screen.fillOval(v.get(0), v.get(1), 60,60);
}

Я получаю сообщение об ошибке, что v.get (0) и v.get (1) являются объектами и не могут быть преобразованы в int.

Затем я попытался добавить идентификатор следующим образом:

public Vector<int> new2DVector(int x, int y) { //<int> unexpected type error. required: reference
    Vector v = new Vector(2);
    v.add(x);
    v.add(y);
    return v;
}   

Но ошибка все еще присутствует. Что я здесь не так делаю? Это не работает так: Vector<int> v = new Vector(2); тоже.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

класс Vector является универсальным классом, java не принимает примитивные типы в универсальных классах.

Вы можете использовать ссылочный тип как Integer. ... public Vector new2D Vector (int x, int y) ...

Замечание: Vector считается устаревшим классом, поэтому в поисках лучшей альтернативы вам не хватает.

извините, мойанглийский.

0 голосов
/ 30 сентября 2019

Вы не можете использовать примитивный тип int в качестве универсального типа. Пожалуйста, используйте Integer вместо.

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