Methode variabel gestalten

Hallo zusammen,

folgendes Problem:

Ich habe eine Methode definiert und möchte ein Objekt einlesen, das in der Methode weiter verarbeitet wird. Nun gehört das Objekt zwei verschiedenen Klassen an, die im „Stammbaum“ später die gleiche Superklasse besitzen.
Der Methode, die später mit dem Objekt arbeiten soll, ist es egal, welche der beiden Klassen das Objekt angehört. Frage:
Wie muss ich die Klasse im Methodenaufruf deklarieren, damit das klappt.

Beispiel: „Stammbaum“
   Superklasse
     /            \
…             …
  /                  \
Klasse A      Klasse B

Beispiel: Methode
Collection a;
Collection b;

void createABC(Collection??Klassenname???> x){
    blablabla.setObjects(x);
}

ohne Methode funktioniert sowohl:
blablabla.setObjects(a);
als auch
blablabla.setObjects(b);

Ich hoffe man verstehts,
Danke
Tim

Hi,

es sollte

void createABC(Collection x){

sein. Wobei die relevanten Deklarationen von gemeinsamen Methoden von A und B schon in Superklasse erfolgen müssen.

Siehe Galileo, „Java ist auch eine Insel“, Kapitel 9.3 „Einschränken der Typen über Bounds“ für weitere Details.

Gruß, Lutz