Изменения

Перейти к: навигация, поиск

Generics

1038 байт добавлено, 07:11, 8 октября 2013
Проблемы реализации 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;
}
}
Анонимный участник

Навигация