public class Contact
{
int i;
String name;
public Contact(int iVal, String nameVal)
{
i = iVal;
name = nameVal;
}
}
public class MultiMap
{
public static void main (String args[])
{
java.util.HashMap m = new java.util.HashMap();
Contact m1 = new Contact(1, "name");
Contact m2 = new Contact(1, "name");
m.put(m1, "first");
m.put(m2, "second");
System.out.println(m.get(m1));
System.out.println(m.get(m2));
}
}
Çıktı geçerli:HashCode olmadan Harita tuşları olarak Nesneler ve eşit
first
second
Bu nasıl "get" yöntemi davranıyor? Hem m1 hem de M2'nin aynı değerleri olduğu ve hashcode() 'ı geçersiz kılmadığım için Object sınıfının equals() yöntemi çağrılacak mı?
Bu doğru mu?
- hiçbir karma kodudur yöntemi yoktur hem nesneler olarak Yukarıdaki kod, m2 değerinin m1 değerini değiştirmeksizin iyi çalışıyor.