ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1076
1076
EMPFEHLEN
-
Hey!
Mir ist klar, dass ich mich gerade anstelle wie ein absoluter Anfänger, aber irgendwie kriege ich den Knoten selbst nicht zum Platzen :-/
Folgende Situation: Ich habe die folgende Klasse, die im Prinzip nur
Code java:1 2 3 4 5 6 7 8 9 10 11 12
public class ConfigParameter<T> { private T value; public ConfigParameter(T myType) { this.myValue = myType; } public T getValue() { return myValue; } }
Jetzt kann ich ein ConfigParameter<Boolean> erzeugen und bekomme auch einen boolean zurück - sehr schön.
Jetzt mein Problem: Ich habe eine List<ConfigParameter<?>>, die verschiedene der oben definierten ConfigParameter<T> enthält. Und jetzt bekomme ich kein boolean, String, oder Double mehr, sondern nur noch Objects... Muss ich wirklich casten (ich kanns mir nicht vorstellen...), oder sehe ich gerade den Wald vor Bäumen nicht? :-/
Sorry, ich denke das ist ziemlich billig, aber ich sehe es nicht...
Gruß,
RoCMe
-
Ja, du müßtest das entsprechend casten. Denk aber bitte beim API-Design daran, nirgendwo in einem Rückgabewert ein ? zu haben. Das ist ein wenig unschön.
Die Frage ist nun, ob es wirklich geschickt ist, eine generische Klasse zu verwenden, wenn du dann aber eine eine gemeinsame Liste unterschiedliche Typen reinstecken willst. Kannst du die Listen nicht aufteilen?
-
Ja, theoretisch könnte ich die Liste aufteilen, aber das würde wahrscheinlich sehr umständlich.
Ich versuche zur Zeit, einen Konfiogurationsmanager zu schreiben. Dabei soll es eine Methode
geben, die anhand der übergebenen Parameter eine neue Konfiguration enthält.Code java:1
create(ConfigParameter<?> myParams)
(Anmerkung: Die oben beschriebene Klasse enthält ein weiteres Feld 'name' vom Typ String, die das Attribut identifiziert).
Wenn ich jetzt für jeden möglichen Datentyp eine eigene Liste übergebe, ändert sich diese Methode jedes Mal, wenn ich einen neuen Datentyp integrieren möchte... Irgendwie unschön, oder nicht.
Ich hoffe, es ist klar was ich tun will...
Gruß,
RoCMe
-
Hmm ja aber solltest du nicht alles so weit kapseln, dass du den eigentlichen Datentypen nur wissen musst, wenn du den Wert aus den Einstellungen tatsächlich haben willst. Der Rest sollte über entsprechende Interfaces für die Datentypen gekapselt sein. Daher ist die Frage ob der Generische Typ hier überhaupt sinnvoll oder nötig ist.
Ähnliche Themen
-
Log4J verwenden in verschiedenen Threads mit verschiedenen Logfiles
Von takidoso im Forum JavaAntworten: 2Letzter Beitrag: 17.11.10, 15:35 -
Generics: Was kann zum List-Objekt hinzu?
Von Steve222 im Forum Java GrundlagenAntworten: 8Letzter Beitrag: 29.09.10, 14:02 -
Generics
Von bRainLaG im Forum JavaAntworten: 3Letzter Beitrag: 09.12.09, 12:42 -
Login-Script mit verschiedenen ID´s und verschiedenen Rechten
Von -GS-Master im Forum PHPAntworten: 5Letzter Beitrag: 16.04.06, 14:09 -
Abspeichern von 2 Arrays mit verschiedenen Typen
Von LordoftheBord im Forum Delphi, Kylix, PascalAntworten: 5Letzter Beitrag: 19.04.04, 14:27





Zitieren

Login





