Hallo,
ich habe gerade ein ganz einfaches Problem (denke ich jedenfalls mal).
Und zwar habe ich folgende drei Klassen: Mensch(String name), Tier(String name), Container.
Die Container-Klasse hat eine ArrayList, in der beliebig viele Menschen und Tiere sein können und sie soll eine Methode haben, die nach Benutzereingabe abgleicht, ob ein Mensch/Tier mit dem eingegebenen Namen in der ArrayList ist.
An sich hört sich das ganz einfach an, aber mein Problem ist jetzt, dass ich es nicht schaffe, die ArrayList so zu definieren, dass ich noch auf die getter-Methoden von Mensch und Tier zugreifen kann.
Das hier ist erstmal meine Containerklasse:
Wenn ich jetzt z.b. das hier schreibe:
kommt natürlich, dass die Methode getName() nicht gefunden werden kann, da der Typ T nunmal keine solche Methode hat.
Wie also definiere ich diese ArrayList so, dass ich auf die getter-Methoden von Mensch und Tier zugreifen kann (ohne eine Oberklasse "Lebewesen" zu machen, um die ArrayList durch den Typ zu definieren)?
ich habe gerade ein ganz einfaches Problem (denke ich jedenfalls mal).
Und zwar habe ich folgende drei Klassen: Mensch(String name), Tier(String name), Container.
Die Container-Klasse hat eine ArrayList, in der beliebig viele Menschen und Tiere sein können und sie soll eine Methode haben, die nach Benutzereingabe abgleicht, ob ein Mensch/Tier mit dem eingegebenen Namen in der ArrayList ist.
An sich hört sich das ganz einfach an, aber mein Problem ist jetzt, dass ich es nicht schaffe, die ArrayList so zu definieren, dass ich noch auf die getter-Methoden von Mensch und Tier zugreifen kann.
Das hier ist erstmal meine Containerklasse:
Code:
public class Container<T>
{
ArrayList<T> meineLeute = new ArrayList();
public void insertTyp(T einTyp)
{
meineLeute.add(einTyp);
}
}
Wenn ich jetzt z.b. das hier schreibe:
Code:
String test = meineLeute.get(0).getName()
Wie also definiere ich diese ArrayList so, dass ich auf die getter-Methoden von Mensch und Tier zugreifen kann (ohne eine Oberklasse "Lebewesen" zu machen, um die ArrayList durch den Typ zu definieren)?