ImmutableList.of работал, но вдруг перестал работать - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть следующий код. Не уверен, что случилось, но это работало до 1 часа назад, и я ничего не менял, и теперь это не работает.

private final List<People> people;
private List<People> friend;

method() {
    friend= ImmutableList.of(people);
}

Я получаю это сообщение об ошибке при попытке скомпилировать:

incompatible types: inference variable E has incompatible bounds

[ERROR]     equality constraints: com.app.People
[ERROR]     lower bounds: java.util.List<com.app.People>

Есть идеи? Спасибо

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Используйте ImmutableList.copyOf вместо ImmutableList.of.

0 голосов
/ 08 ноября 2018

Вы вызываете ImmutableList.of(E element), который возвращает ImmutableList из E. В этом случае ваш E равен List<People> (тип переменной people), поэтому окончательный тип ImmutableList.of(people) равен List<List<People>>.

Похоже, вы хотели создать копию people, и для этого есть другой метод: ImmutableList.copyOf(Collection<E> elements)

Следовательно, ваш код должен выглядеть так:

friend = ImmutableList.copyOf(people);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...