Generics Problem

Status
Nicht offen für weitere Antworten.

peez

Bekanntes Mitglied
Hi,
ich fange am besten gleich mal mit ein bisschen Code an:

Java:
public class MaterialWrapper<T extends BusinessObject> implements HbmManaged, MaterialInterface {
  
  private T m = null;  
  
  public MaterialWrapper() { 
   m = new T();
  }

//...
}

Leider sagt mir Eclipse im Konstruktor "Cannot instantiate T".
Gibt es eine andere Möglichkeit, die Variable m mit der Templateklasse zu instantiieren?
 
S

SlaterB

Gast
du kannst im Konstruktor die Klasse übergeben und dann class.newInstance() verwenden,
new T geht nicht
 
S

SlaterB

Gast
na dann setze vorher eine statische Variable und greife darauf zu ;)
ok, akzeptabel kann man das nicht nennen, aber ohne Parameter hat der Konstruktor nun wirklich keine Information,
der generische Typ ist zur Laufzeit nicht mehr bekannt
 

Landei

Top Contributor
Wieviele Klassen von BusinessObjecten hast du denn? Falls es nur ein paar sind, mache doch MaterialWrapper abstrakt und mache für jede BusinessObjectKlasse eine eigene Unterklasse:
Java:
public abstract class MaterialWrapper<T extends BusinessObject> implements HbmManaged, MaterialInterface {
  
  private T m = null;  
  
  public MaterialWrapper(T m) { 
   this.m = m;
  }
 
//...
}

public BacksteinWrapper extends MaterialWrapper<Backstein> {
    public BacksteinWrapper() { 
       super(new Backstein()); 
    }
}
 

0x7F800000

Top Contributor
du könntest stattdessen auch diese Generische Objekte mit einer Factory herstellen, denn eine factory kann man ja dazu zwingen, eine bestimmte konstruktionsmethode anzubieten, was bei einem konstruktor dummerweise nicht geht :reflect:
 

peez

Bekanntes Mitglied
Das Problem ist, dass die Sache in ein bestehendes Client-Server Framework reinpassen muss. In dem wird ein vor Jahren modifiziertes Hibernate (fragt mich nicht warum) verwendet, das bei jedem Spezialfall Ärger macht. Da die Servermodule nur noch für alte Anwendungen dienen, darf da leider nichts mehr verändert werden.
Und hier ist irgendwo bei der Speichern-Methode ein Punkt, wo von dem Objekt das gespeichert werden soll - also in dem Fall MaterialWrapper, bzw. das beinhaltete BusinessObject - über die Reflection Api eine neue Instanz erzeugt wird. Deshalb default-Konstruktor.
Das heißt Factories sind nicht erlaubt, da dafür der Server-Code verändert werden müsste...

@Landei
So ist der Anfang meiner abgeleiteten Klasse:
Java:
public class MaterialWrapper extends AbstractMaterialWrapper<Material>() {
  public MaterialWrapper() {
    super(new Material());
  }
}
Dummerweise unterstreicht mir Eclipse die komplette erste Zeile rot und sagt "Syntax error on tokens, AnnotationName expected instead".
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
N Problem mit Generics und Interface Allgemeine Java-Themen 4
M Problem mit Generics Allgemeine Java-Themen 10
H Problem mit Java Generics Allgemeine Java-Themen 6
E Problem mit Generics und Comparable Allgemeine Java-Themen 16
R Problem mit Reflection und Generics Allgemeine Java-Themen 3
S Generics-Problem Allgemeine Java-Themen 3
R Problem mit Generics Allgemeine Java-Themen 2
H Generics Problem Allgemeine Java-Themen 3
M Problem mit Generics Allgemeine Java-Themen 3
S Problem mit generics -> ClassCastException und ka wieso Allgemeine Java-Themen 20
R Problem mit Generics Allgemeine Java-Themen 8
M Problem mit Generics und clone() Allgemeine Java-Themen 2
J Best Practice Generics mit Enum Allgemeine Java-Themen 3
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
Zeppi Cast Object in Generics Allgemeine Java-Themen 4
P Generics und Arrays Allgemeine Java-Themen 6
M Generics / Typen Allgemeine Java-Themen 1
Kirby.exe InsertionSort mit Generics Allgemeine Java-Themen 33
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
H Klarnamen etc... (von Wie Generics lernen?) Allgemeine Java-Themen 26
D Wie Generics lernen? Allgemeine Java-Themen 26
L Compiler-Fehler Generics beim Anhängen von Predicates Allgemeine Java-Themen 1
W Vererbung Generics - mal wieder die verhaßte Rückwärtskompatibilität Allgemeine Java-Themen 2
S Verstaendnisfrage Generics Allgemeine Java-Themen 19
W Generics + Vererbung Allgemeine Java-Themen 47
I Methoden Generics-Methode Allgemeine Java-Themen 3
D Mit Generics arbeiten - Übungsaufgabe Allgemeine Java-Themen 3
K Factory Pattern: Mit Generics umgehen Allgemeine Java-Themen 6
G Generics Allgemeine Java-Themen 31
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
Hacer Generics & Collections Allgemeine Java-Themen 8
Neumi5694 Interface Generics für Enum-Filterung verwenden Allgemeine Java-Themen 5
C Gemeinsame Oberklasse zweier Generics Allgemeine Java-Themen 10
erdmann Datentypen Methodendeklaration mit Generics Allgemeine Java-Themen 2
Z Datentypen Verschachtelte Generics Allgemeine Java-Themen 1
Neumi5694 Datentypen Generics Allgemeine Java-Themen 5
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4
Tarrew Generics - Type erasure Allgemeine Java-Themen 5
H Generics als Parameter Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
A Datentypen Generics: Wie am besten auf Typparameter zugreifen Allgemeine Java-Themen 2
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
vandread Kleine Generics Aufgabe aus einer Prüfung... wie ist das gemeint? Allgemeine Java-Themen 6
G Generics sind zu streng - oder ich zu naiv? Allgemeine Java-Themen 3
G Verschachtelte Generics Allgemeine Java-Themen 2
O Generics Allgemeine Java-Themen 42
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
darekkay Generics: Wildcard und Object Allgemeine Java-Themen 5
H Collections Generics und Reflection Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
J Generics: Typparameter als Klasse zurückliefern Allgemeine Java-Themen 4
H Generics Allgemeine Java-Themen 5
P Probleme mit Generics Allgemeine Java-Themen 5
B Generics und primitve arrays Allgemeine Java-Themen 6
M Generics Allgemeine Java-Themen 11
1 Collections Generics, internes Verhalten Allgemeine Java-Themen 16
T Warnungsfreie Verwendung von Generics Allgemeine Java-Themen 11
M Probleme mit Generics Allgemeine Java-Themen 5
D Java Generics Allgemeine Java-Themen 8
2 Generics: bounded wildcards Allgemeine Java-Themen 4
J Generics / vermeiden von downcasts Allgemeine Java-Themen 2
2 Generics oder nicht? Allgemeine Java-Themen 8
W Erweitern einer Klasse mit Generics Allgemeine Java-Themen 8
H Generics für Methode Allgemeine Java-Themen 14
N Überladen mit Hilfe von Generics Allgemeine Java-Themen 3
S Generics: Fuer Set<T> ein T-Klassenobjekt erhalten? Allgemeine Java-Themen 3
Q Der innere Typ von Generics? Allgemeine Java-Themen 3
N Generics-NullpointerException Allgemeine Java-Themen 7
2 Generics - Typ Allgemeine Java-Themen 12
S Type safety Warnings beim casten von Generics Allgemeine Java-Themen 6
N Generics Allgemeine Java-Themen 3
V Frage zu Generics Allgemeine Java-Themen 2
S java generics klassen deklaration Allgemeine Java-Themen 7
B hashtable für unterschiedliche Typen - mit Generics Allgemeine Java-Themen 8
E Generics Allgemeine Java-Themen 3
MQue Generics Allgemeine Java-Themen 4
C Klassen, die aufeinander verweisen (mit Generics) Allgemeine Java-Themen 16
G Generics - W.card unter Nutzung von Annotationsklasse? Allgemeine Java-Themen 6
G sortieren von generics Allgemeine Java-Themen 10
G Generics in Map. Type of value abhängig vom key Allgemeine Java-Themen 3
A Generics Verständnisfrage Allgemeine Java-Themen 7
Z Generics funzt nicht? Allgemeine Java-Themen 2
T Generics Allgemeine Java-Themen 18
G ComboBox: Nur eine Art Klasse zulassen (Generics) Allgemeine Java-Themen 3
J Generics Expertenwissen? Allgemeine Java-Themen 5
T Generics und Wil-dcards Allgemeine Java-Themen 8
Q Typen von Generics & Casten Allgemeine Java-Themen 3
S Generics Allgemeine Java-Themen 2
G Trotz Generics Cast-Fehler! Allgemeine Java-Themen 5
T TreeMap durch Comparator mit Generics sortieren Allgemeine Java-Themen 9
T Generics und instanceof Allgemeine Java-Themen 10
T Generics und Exceptions Allgemeine Java-Themen 6
M Beliebig viele Typen bei Generics Allgemeine Java-Themen 3
G Reflection objekt mit generics erzeugen Allgemeine Java-Themen 5
S Singleton Pattern mit Generics Allgemeine Java-Themen 4
G Generics und Comparable Allgemeine Java-Themen 11
F Generics: spricht etwas dagegen raw types zu verwenden? Allgemeine Java-Themen 31
M Generics - besser programmieren, Warnung umgehen Allgemeine Java-Themen 4
E Java, UML, Generics Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben