Generics Problem

Iam_Fiction

Mitglied
Hallo, ich möchte eine Funktion schreiben die ein von der Klasse X abgeleitetes Object aufnimmt und am Ende dieses wieder ausgibt. A,B sind Unterklassen von X. Folgenden Entwurf habe ich verfolgt:

Code:
public <T extends X> T saveOrUpdate(T object) {
	if (object instanceof A) {
	    return var1.saveOrUpdateBook((A) object);
	} else if (object instanceof B) {
	    return var2.saveOrUpdateStudent((B) object);
	} else {
	    return null;
	}

    }
Das Problem ist, dass die Speichermethoden an die ich das object weiterleite speziell auf einen Typ angepasst sind. Ist es dann überhaupt möglich dies mit Generics zu lösen? So wirft er einen Compilerfehler "cannot convert (...) to T"

Vielen Dank für die Hilfe :)
 
Hallo,

schau mal hier nach GenericDAO:
http://www.tutorials.de/forum/j2ee/283835-strukturierung-webanwendung.html

Standardfunktionalität kann man mit einem generischen DAO erschlagen. Braucht man dann noch spezifischere Persistenzlogik, so kann man vom GenericDAO ableiten und die entsprechend benötigten Routinen hinzufügen.

Anstatt deiner if(foo instanceof bar)... Kaskaden würde ich an deiner Stelle depth first polymorphismus verwenden.

Gruß Tom
 
Zurück