У меня есть pb. Я хочу передать список в коллекцию в java
Collection<T> collection = new Collection<T>(mylList);
но у меня есть эта ошибка
Невозможно создать экземпляр типа Collection
У меня есть pb. Я хочу передать список в коллекцию в java
Collection<T> collection = new Collection<T>(mylList);
но у меня есть эта ошибка
Невозможно создать экземпляр типа Collection
List<T> уже реализует Collection<T> - зачем вам нужно создавать новый?
Collection<T> collection = myList;
Сообщение об ошибке абсолютно правильно - вы не можете напрямую создавать интерфейс. Если вы хотите создать копию существующего списка, вы можете использовать что-то вроде:
Collection<T> collection = new ArrayList<T>(myList);
Литье никогда не нуждается в new:
Collection<T> collection = myList;
Вы даже не делаете бросок явным, потому что Collection является супертипом List, поэтому он будет работать именно так.
Не зная ваш код, немного сложно ответить на ваш вопрос, но, основываясь на всей информации здесь, я считаю, что проблема заключается в том, что вы пытаетесь использовать передачу Collections.sort в объекте, определенном как Collection, и sort doesn Не поддерживайте это.
Первый вопрос. Почему клиент определяется так в целом? Почему это не список, карта, набор или что-то более конкретное?
Если клиент был определен как список, карта или набор, у вас не было бы этой проблемы, так как тогда вы могли бы напрямую использовать Collections.sort(client).
НТН
Существует множество решений для преобразования списка в коллекцию
Решение 1
List<Contact> CONTACTS = new ArrayList<String>();
// fill CONTACTS
Collection<Contact> c = CONTACTS;
Решение 2
private static final Collection<String> c = new ArrayList<String>(
Arrays.asList("a", "b", "c"));
Решение 3
private static final Collection<Contact> = new ArrayList<Contact>(
Arrays.asList(new Contact("text1", "name1")
new Contact("text2", "name2")));
Решение 4
List<? extends Contact> col = new ArrayList<Contact>(CONTACTS);