bjetos como chaves de mapa sem Hashcode e igual a

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));
    }
}   

Output é:

first 
second 

Como esse método "get" se comporta? Como m1 e M2 têm os mesmos valores e eu não substitui o hashcode (), o método equals () da classe Object será chamado?

Isso está correto?

Não existe um método de código de hash, portanto, a JVM não tem como ver se os objetos m1 e m2 contêm valores diferente Não existe um método igual a substituído. Assim, o equals () da classe Object é chamado e, como os dois objetos são diferentes, o código acima funciona bem sem m2 substituindo o valor de m

questionAnswers(7)

yourAnswerToTheQuestion