chickenwings
Erfahrenes Mitglied
Hallo,
das Thema Generics scheint doch komplizierter zu sein, als ich dachte.
Habe folgendes Problem:
ein Klasse:
Der Aufruf des Konstruktors funktioniert wunderbar, solange ich z.B. folgenden Aufruf mit nicht parameterisierten Generics (hier String) durchführe:
Ist das generische Object allerdings selbst parameterisiert:
.. gibt es die Fehlermeldung, dass der entsprechende Konstruktor nicht defniert ist. Das ist auch klar, denn der Konstruktor erwartet nur eine Klasse eines beliebigen Typs.
Wie kann man das erweitern, dass auch komplexere Konstrukte funktionieren?
Grüsse,
chickenwings
das Thema Generics scheint doch komplizierter zu sein, als ich dachte.
Habe folgendes Problem:
ein Klasse:
Code:
public class Attribute<T extends Object>
{
private String name;
private Class<T> theClazz;
public Attribute(String name, Class<T> clazz)
{
this.name = name;
this.theClazz = clazz;
}
....
}
Der Aufruf des Konstruktors funktioniert wunderbar, solange ich z.B. folgenden Aufruf mit nicht parameterisierten Generics (hier String) durchführe:
Code:
public static final Attribute<String> myAttr = new Attribute<String>("enable", String.class);
Ist das generische Object allerdings selbst parameterisiert:
Code:
public static final Attribute<List<?>> listAttr = new Attribute<List<?>>("container", List.class);
.. gibt es die Fehlermeldung, dass der entsprechende Konstruktor nicht defniert ist. Das ist auch klar, denn der Konstruktor erwartet nur eine Klasse eines beliebigen Typs.
Wie kann man das erweitern, dass auch komplexere Konstrukte funktionieren?
Grüsse,
chickenwings