问题在标题中。我使用如下的
我想说,如果两个类的对象具有相同的
HashMap
:Map<Player, Partner> m = new HashMap<Player, Partner>();
//do some on m
其中Player
和Partner
都是代表数据模型的POJO
。
public class Player{
private int id;
private String name;
//etc, GET, SET
}
public class Partner{
private int id;
private String name;
//etc, GET, SET
}
我想说,如果两个类的对象具有相同的
id
,则这两个对象是等价的。因此,我应该像这样编写hashCode
:public int hashCode(){
return id;
}
这是一种正确的做法吗,当我使用HashMap或类似的东西时,为什么要使用它?