Изменения
Generics
,→Проблемы реализации Generics
list.set(i, list.get(j));
list.set(j, temp);
}
== Ограничения Generic ==
Также нужно запомнить простые правила для работы с Generics.
* Невозможно создать массив параметра типа
Collection<T> c;
T[] ta;
new T[10]; // Ошибка !!
* Невозможно создать массив Generic-классов
new ArrayList<List<Integer>>();
List<?>[] la = new List<?>[10]; // Ошибка !!
== Пример кода ==
Нахождение максимума в Коллекции Integer.
* Без Generics:
Collection c;
Iterator i = c.iterator();
Integer max = '''(Integer)''' i.next();
while(i.hasNext()) {
Integer next = '''(Integer)''' i.next();
if (next.compareTo(result) > 0) {
max = next;
}
}
* При помощи Generics
Collection'''<Integer>''' c;
Iterator'''<Integer>''' i = c.iterator();
Integer max = i.next();
while(i.hasNext()) {
Integer next = i.next();
if (next.compareTo(result) > 0) {
max = next;
}
}