Дополнительно
Как инициализировать объект List в Java?
Я не могу инициализировать List, как в следующем коде:
List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
Я сталкиваюсь со следующей ошибкой:
Cannot instantiate the type
List<String>
.
Как я могу создать тип List<String>
?
375
12
Если вы посмотрите АПИ
Список
вы'МР заметили, он говорит:Будучи "интерфейс" означает, что он не может быть создан (не новый список()` можно).
Если вы проверить эту ссылку, вы'll найти некоторые
класса Эс, реализующие
список`:Тех, может быть инстанцирован. Используйте свои связи, чтобы узнать больше о них, т. е.: знать, что лучше подходит вашим потребностям.
3 наиболее часто используемых из них, вероятно, являются:
Бонус: Вы также можете инстанцировать его со значениями, более легким способом, используя
массивы
класс
, следующим образом:Но учтите, вы не можете добавить больше элементов в этот список, так как он'ы
фиксированного размера
.Может'т создать экземпляр интерфейса, но есть несколько реализаций:
JDK2
JDK7
JDK8
JDK9
Плюс есть много других способов поставлены другие библиотеки, такие как гуава.
Список - это интерфейс, вы не можете инстанцировать интерфейс, потому что интерфейс - это соглашение, какие методы должны иметь ваши классы. Для того, чтобы инстанцировать, вам нужны некоторые реализации (внедрения) этого интерфейса. Попробуйте использовать приведенный ниже код с очень популярными реализациями интерфейса List:
или
Вам нужно будет использовать
ArrayList
или что-то подобное.List
- это интерфейс.Используйте его:
List - это интерфейс, а вы не можете инициализировать интерфейс. Вместо этого инициализируйте реализующий класс.
Например:
В большинстве случаев требуется простой
коллекции
- реализациясписок
До версии JDK 7
JDK 7 и позже вы можете использовать оператор алмазной
Дополнительная информация написано здесь в документации по Oracle - сборники
Список<строка> Есть только интерфейс, определения какой-то общий список. Необходимо обеспечить реализацию этого интерфейса списка. Двумя самыми распространенными являются:
Коллекции - реализован список с помощью массива
Класса LinkedList - список реализуется как взаимосвязанная цепь элементов
В зависимости от того, какой список вы хотите использовать, что-то вроде
должны получить вы собираетесь.
Списке-интерфейс, ArrayList является одной реализации интерфейса list. Более реализаций, которые могут лучше удовлетворить ваши потребности можно найти, прочитав javadocs по интерфейс list.
Если вы просто хотите создать неизменяемые
список<Т>
С толькоодин** объект в нем, вы можете использовать этот API:Подробнее: документы
Список-это интерфейс . Вы можете использовать список инициализации.
Таковы некоторые из impelemented список классов,
Вы можете использовать это согласно вашему требованию. В каждом из этих классов есть свои особенности.
На всякий случай, кто-то еще сохраняющиеся вокруг этого вопроса. Потому что, я вижу одного или двух новых пользователей снова задавать тот же вопрос, и все говорю затем , не вы можете'т сделать это, дорогая Пруденс, Помимо все ответы, данные здесь, я хотел бы предоставить дополнительную информацию - Да, вы можете на самом деле делать, список<число> Список = новый список<Interger и GT;(); Но на стоимость написания реализации всех методов интерфейса. Понятие-это не просто список<число> Список = новый список<Interger и GT;(); но
..... и так далее (не могу написать все методы.)
Это пример анонимный класс. Его правильное, когда кто-либо заявляет , Нет, вы не можете создать экземпляр интерфейса, и что's вправо. Но вы никогда не можете сказать , Вы не можете писать список = новый список(); но, очевидно, вы можете делать это и, что'ы трудно заявление что вы можете'т сделать.
Мы создали союз-к для упрощения задачи 1: Как конвертировать
х
вМ
(например,строка
доцелое
). Строительство объекта также вид преобразования, поэтому у него есть простая функция для построениякарта
,список
,набор
:``Ява импорт Ио.thedocs.Союз.к;
Список<строка> имена = до.список (фильм"Джон" В, С "Федор" - а); `` Пожалуйста, проверьте его - он имеет много других полезных функций