Wie generiere ich den HashCode korrekt?

-ben-

Mitglied
Hy zusammen!

Ich habe eine Klasse A die beinhaltet zwei Maps. Objekte von A hänge ich wiederum einer HashMap an, deshalb muss ich die Methoden equals() und hashCode() in der Klasse A überschreiben.

Nur wie soll ich den HashCode denn berechnen? Die Summe der HashCodes der beiden Maps, oder wie genau?

Danke und Gruss
ben
 
Hmm... das mit der Endlosrekursion hab ich jetzt nicht ganz gerafft...
Wie und wo soll diese entstehen?

Den Artikel kenne ich noch nicht.. Werde ihn bei Gelegenheit mal angucken..
Ich dachte das sei nicht so ne sache :(
 
Hallo!

Z.Bsp. so [nicht]:
Code:
 /**
  * 
  */
 package de.tutorials;
 
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * @author Tom
  * 
  */
 public class EndlessRecursionExample {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		A a = new A();
 		A b = new A();
 		A c = new A();
 		A d = new A();
 
 		a.mapA.put("b", b);
 		a.mapA.put("c", c);
 		a.mapB.put("d", d);
 		a.mapB.put("a", a);
 
 		System.out.println(a.hashCode());
 
 	}
 
 	static class A {
 		Map mapA = new HashMap();
 
 		Map mapB = new HashMap();
 
 		public int hashCode() {
 			return mapA.hashCode() * 37 + mapB.hashCode();
 		}
 	}
 
 }

gruß Tom
 

Neue Beiträge

Zurück