Hallo Leute,
ich hab ein Problem und weiß nicht, warum das so ist:
Ich habe für eine Übung zwei Klassen "Person" und "Lehrveranstaltung" implementiert und zusätzlich eine Klasse "VirtualDataBase", in der ich eine "HashMap" angelegt habe. In dieser HashMap möchte ich als Schlüssel die Objekte der Klasse Person einfügen und als zweite Komponente der HashMap ist ein Vektor vorhanden, der die Lehrveranstaltungen zu der Person speichert.
Das Problem, dass ich jetzt habe ist, das ich die Komponenten nicht mehr erreiche. Das heißt, wenn ich in der Hashmap nach einem Schlüssel suche und von diesem den Vektor haben möchte, bekomme ich immer null heraus, obwohl GANZ SICHER Daten vorhanden sind.
Bei folgendem Codestück (Methode der Klasse VirtualDataBase) bekomme ich immer null heraus, obwohl die Daten sicher vorhanden sind:
public int getNumberOfLecture (Student s) {
Vector vec = (Vector) studentHashMap.get(s);
if (vec == null)
return 0;
return vec.size();
}//getNumberLecture
Wo kann der Fehler liegen? Kann es sein, dass ich noch zusätzlich Methoden implementieren muss? Ich habe in der Klasse Person die Methode hashCode() überschrieben, dass doch reichen sollte?!
Danke für eure Hilfe,
Eva
ich hab ein Problem und weiß nicht, warum das so ist:
Ich habe für eine Übung zwei Klassen "Person" und "Lehrveranstaltung" implementiert und zusätzlich eine Klasse "VirtualDataBase", in der ich eine "HashMap" angelegt habe. In dieser HashMap möchte ich als Schlüssel die Objekte der Klasse Person einfügen und als zweite Komponente der HashMap ist ein Vektor vorhanden, der die Lehrveranstaltungen zu der Person speichert.
Das Problem, dass ich jetzt habe ist, das ich die Komponenten nicht mehr erreiche. Das heißt, wenn ich in der Hashmap nach einem Schlüssel suche und von diesem den Vektor haben möchte, bekomme ich immer null heraus, obwohl GANZ SICHER Daten vorhanden sind.
Bei folgendem Codestück (Methode der Klasse VirtualDataBase) bekomme ich immer null heraus, obwohl die Daten sicher vorhanden sind:
public int getNumberOfLecture (Student s) {
Vector vec = (Vector) studentHashMap.get(s);
if (vec == null)
return 0;
return vec.size();
}//getNumberLecture
Wo kann der Fehler liegen? Kann es sein, dass ich noch zusätzlich Methoden implementieren muss? Ich habe in der Klasse Person die Methode hashCode() überschrieben, dass doch reichen sollte?!
Danke für eure Hilfe,
Eva