Generics как создавать списки с разными типами
Когда читал про Generics, все казалось просто и понятно, пока не дошло до реализации У меня есть несколько классов
public class ItemUser implements Serializable {
private int id;
private String name;
...
}
public class ItemCity implements Serializable {
private int id;
private String name;
...
}
и т.д. в этом классе мне надо создать список с одним из этих типов
public class Data {
private List<?> list;
public List<?> getList(...) {
return list =
}
public void init() {
list = getList(...);
}
}
Как это сделать?
Вот так будет правильно?:
public class Data<T> {
private List<T> list;
public Data(T myType){
list = new ArrayList<T>();
}
}
public class ItemData {
private Data<T> data;
public void init() {
data = new Data<ItemUser>();
}
}
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Думаю можно так Generic
public class Data<T> {
private List<T> list;
public List<T> getList(...) {
return list =
}
public void init() {
list = getList(...);
}
}
либо конкретный класс
public class ItemUserData {
private List<ItemUser> list;
public List<ItemUser> getList(...) {
return list =
}
public void init() {
list = getList(...);
}
}
Можно обобщить тогда проводить типы будите в ручную
public class Data {
private List<Object> list;
public List<Object> getList(...) {
return list =
}
public void init() {
list = getList(...);
}
}