Java Generic Wildcard

pl4gu33

Top Contributor
Hey,... ich habe folgendes Problem, ich wollte eigentl. 2 Methoden haben die so aussehn :
(die Namen der Klassen sind willkürlich gewählt und dienen nur für das Beispiel 😀)

Java:
private void vergleicheObjekte(ArrayList<Mensch> list,ArrayList<Mensch> list2){ ... }
        private void vegleicheObjekte(ArrayList<Tiere> list1,ArrayList<Tiere> list2){....}

das Problem ist halt, dass es ja nicht geht da da die Methode als schon vorhanden angesehen wird... nun habe ich folgendes gefunden....

Java:
private void vegleicheObjekte(ArrayList<?> list1,ArrayList<?> list2){

}

nun ist Frage, wie kann ich nun auf die Methoden meiner eigentl. Objekte zugreifen... ich hab jetzt an sowas gedacht, dass denke ich ist aber falsch bzw. nicht wirklich eine schöne Lösung 😉😀

Java:
for(int i=0;i<list1.size();i++){
			if(list.get(i) instanceof Tier){
				Tier tier=(Tier) list.get(i);
                                 ....

danke schonmal im voraus 🙂
 
Zuletzt bearbeitet:
wenn die beiden Klassen eine gemeinsamkeit haben (superklasse, interface) kannst du
Java:
private void vegleicheObjekte(List<? extends Gemeinsamkeit> list1, List<? extends Gemeinsamkeit> list2){
schreiben.

Ansonsten 2 versch. Methodennamen, wenn die nix miteinander zu tun haben
 

Zurück
Oben