Когда я запускаю мой код я получаю это предупреждение:Java бесконтрольно вызов метода с ArrayList
warning: [unchecked] unchecked method invocation: method addAll in interface List is applied to given types
snakeDotlist.addAll(genFirstDots());
required: Collection<? extends E>
found: List
where E is a type-variable:
E extends Object declared in interface List
код:
initDisplay();
List<Sprite> snakeDotlist = new ArrayList<>();
snakeDotlist.addAll(genFirstDots());
Sprite tokenSprite = new Sprite((genRandomNumber(0, 64)), (genRandomNumber(0, 48)), 16, 16, "res/snakedot.png");
while(!Display.isCloseRequested())
{
if (hasCollided(tokenSprite, snakeDotlist.get(0)))
{
tokenSprite.updateToken(true);
snakeDotlist.get(0).score += 1;
snakeDotlist.addAll(genNewDots((int)snakeDotlist.get(0).prev1x, (int)snakeDotlist.get(0).prev1y, (int)snakeDotlist.get(0).prev2x, (int)snakeDotlist.get(0).prev1y));
}
.
public static List genFirstDots()
{
List<Sprite> list = new ArrayList<>();
list.add(new Sprite(3, 0, 16, 16, "res/snakedot.png"));
list.add(new Sprite(2, 0, 16, 16, "res/snakedot.png"));
list.add(new Sprite(1, 0, 16, 16, "res/snakedot.png"));
list.add(new Sprite(0, 0, 16, 16, "res/snakedot.png"));
return list;
}
Я посмотрел на несколько других постов, которые сказали, чтобы изменить декларацию snakeDotList от
List<Sprite> snakeDotlist = new ArrayList<Sprite>();
в
List<Sprite> snakeDotlist = new ArrayList<>();
, но я все еще получаю предупреждающие сообщения, и я не знать, как его решить, любая помощь?
Просто предположите, но попытайтесь изменить возвращаемое значение 'genFirstDots()' из 'List' в' List '. –
Turamarth