2016-08-19 1 views
-3

У меня есть файл employee2 java, и я создал 3 объекта, и я пытаюсь вычислить hashcode() этих объектов, используя System.identityhashCode (Object o) , но она всегда дает одинаковое значение для всех объектов, как это возможноSystem.identityHashCode(), дающий то же значение для разных объектов

Примечание -> я не реализовали хэш-код() или равно, я просто с помощью реализации хэш-код()

Код по умолчанию является следующим:

public class employee2 
    { 
    private int empid; 
    private String name; 
    private String dept; 

    employee2(){ 

    } 

    public employee2(int empid,String name,String dept){ 
    this.empid=empid; 
    this.name=name; 
    this.dept=dept; 
    } 

    public static void main(String args[]){ 
     employee2 e1=new employee2(9846,"Amol Sngh","Science"); 
     employee2 e2=new employee2(9844,"Amol Singh","Scienc"); 
     employee2 e3=new employee2(98446,"Amol Singh","Science"); 
     employee2 e4=new employee2(96,"Amol Sh","Sciece"); 

     System.out.println(System.identityHashCode(e1)+" "+System.identityHashCode(e2)+" "+System.identityHashCode(e3)+" "+System.identityHashCode(e4)); 

    }  
} 

всегда дает значение для каждого объекта

+1

Я просто побежал ваш код, он дал 4 различных значения: '1922154895',' 883049899', '2093176254', '1854731462'. – DimaSan

+0

Невозможно воспроизвести. Вероятно, вы использовали старую версию своего кода. Перекомпилируйте и перезапустите. –

+0

Что вы имеете в виду в старой версии? – DimaSan

ответ