我正在努力学习 Java。Eric Roberts 的文本“Java 的艺术与科学”有一个编程任务,我们在其中模拟航班预订控制台。我想通过使用只有城市字符串的城市类来“分类”。它只有一个字段 ,name
它是一个字符串,但我正在尝试学习如何使用类。
无论如何,所以我不得不重写 City 类中的 equals 方法以避免重复。所以我不得不重写 hashCode 方法。
现在我HashMap<City,ArrayList<Flight>>
的不工作了。它找不到某些值,并且仍然允许重复键。
我的城市equals
和hashCode
覆盖如下。谁能看到为什么我的 HashMap 出错了?
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object that) {
// TODO Auto-generated method stub
if ( this == that ) return true;
if ( !( that instanceof City) ) return false;
City aThat = (City) that;
return (name == aThat.name );
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return name.hashCode();
}