Обобщения - это параметризованные типы. С их помощью можно объявлять классы, интерфейсы и методы, где тип данных указан в виде параметра. Обобщения добавили в язык безопасность типов.
class Gen<T> {
T ob; // объявление объекта типа T
// Передать конструктору ссылку на объект типа T
Gen(T o) {
ob = o;
}
// Вернуть ob
T getob() {
return ob;
}
// Показать тип T
void showType() {
System.out.println("Тип T: " + ob.getClass().getName());
}
}
// Код для кнопки
// Работаем с обобщённым классом
// Создаём Gen-ссылку для Integer
Gen<Integer> iOb;
// Создаём объект Gen<Integer>
iOb = new Gen<Integer>(77);
// Показать тип данных, используемый iOb
iOb.showType();
// Получить значение iOb
int value = iOb.getob();
System.out.println("Значение " + value);
// Создадим объект Gen для String
Gen<String> strOb = new Gen<String>("Обобщённый текст");
// Показать тип данных, используемый strOb
strOb.showType();
// Получить значение strOb
String str = strOb.getob();
System.out.println("Значение: " + str);
Вопрос 1
Приведите ситуацию, в которой полезно применение обобщённых классов.