Может ли генерация Java-гнезд? Следующее дает мне ошибку в Eclipse:Java: Вложенные дженерики?
ArrayList<ArrayList<Integer>> numSetSet = ArrayList<ArrayList<Integer>>();
ошибка:
Syntax error on token "(", Expression expected after this token
Может ли генерация Java-гнезд? Следующее дает мне ошибку в Eclipse:Java: Вложенные дженерики?
ArrayList<ArrayList<Integer>> numSetSet = ArrayList<ArrayList<Integer>>();
ошибка:
Syntax error on token "(", Expression expected after this token
Вы забыли слово new
.
WOW это становится слишком поздно. Благодарю. –
Это должно быть:
ArrayList<ArrayList<Integer>> numSetSet = new ArrayList<ArrayList<Integer>>();
Или еще лучше:
List<List<Integer>> numListList = new ArrayList<List<Integer>>();
На самом деле, вы не можете быть вложенными Абстрактные типы, по-видимому: 'List
@Rosarch: 'List <Список
Второе решение может быть не лучше. Во втором решении любой список может быть помещен в основной список, который может быть не таким, каким вы хотите. На самом деле вы можете поместить как ArrayList, так и LinkedList в основной список. Это может быть плохо, но может и не быть тем, чего вы хотите. – fastcodejava
Для тех, кто пришел в этот вопрос через Google, Да Дженерики могут быть вложенными. И другие ответы - хорошие примеры этого.
И вот несколько немного сложная техника программирования шаблонов Java, я сомневаюсь, сколько людей раньше использовали это в Java.
Это способ избежать кастинга.
public static <T> T doSomething(String... args)
Это способ ограничить тип аргумента с помощью подстановки.
public void draw(List<? extends Shape> shape) {
// rest of the code is the same
}
вы можете получить больше образцов на веб-сайте компании Sun:
http://java.sun.com/developer/technicalArticles/J2SE/generics/
Вы забыли 'новый' ключевое слово, как в код ниже:
ArrayList < ArrayList < Integer >> numSetSet = новый ArrayList < ArrayList < Целое число >>();
Вы также можете использовать карты вместе со списками для вложенных Дженерики, как показано на Java 5 (J2SE 5.0/JDK 1.5) New Features with Examples
Ну теперь есть пример сообщения об ошибке компилятора ужасны! –
Основной синтаксис FAIL. Вернемся в автошколу, Сонни! – Bombe
Лучше сделать: Список <Список> numSetSet = новый ArrayList <Список >(); И если это набор, почему вы используете списки? –
starblue