Hallo Forum,
ich möchte eine Liste von Objekten verwalten, zu denen zusätzliche Daten gespeichert werden. Drum hab ich das in eine eigene Klasse gepackt und diese generisch gemacht. Das sieht jetzt mal so aus:
Der Datentyp T ist einer aus fünf möglichen, die jeweils von DOElement abgeleitet sind. Somit sind jetzt nur Listen mit diesen fünf Typen möglich.
Was ich jetzt leider nicht hinbekomme, daß ich in einer Klassenmethode (z. B. im Konstruktor) ein neues Objekt vom Typ T instanziiere. Also sowas zum Beispiel:
Ich würde erwarten, daß eines der fünf möglichen Objekte erzeugt wird, auf Grundlage des Typs T, mit dem die DOList instanziiert wurde. Aber das geht nicht. Mache ich etwas falsch oder ist das prinzipiell nicht möglich?
VG Holger
ich möchte eine Liste von Objekten verwalten, zu denen zusätzliche Daten gespeichert werden. Drum hab ich das in eine eigene Klasse gepackt und diese generisch gemacht. Das sieht jetzt mal so aus:
Code:
public class DOList<T extends DOElement> {
private DOTauchgang tg;
private List<T> list = new ArrayList<>();
private Integer activeIndex;
private List<DOListListener> listener = new ArrayList<>();
public DOList(DOTauchgang tg, String label) {
super(label);
this.tg = tg;
activeIndex = null;
}
}
Was ich jetzt leider nicht hinbekomme, daß ich in einer Klassenmethode (z. B. im Konstruktor) ein neues Objekt vom Typ T instanziiere. Also sowas zum Beispiel:
Code:
T newElement = new T();
list.add(newElement);
VG Holger