所以,我正在尝试使用a HashMap来映射我自己Object的String值.我的目标如下(为简洁起见删除了一些代码)
public class RouteHeadsignPair {
String route;
String headsign;
public RouteHeadsignPair(String n_route, String n_headsign) {
route = n_route.toLowerCase();
headsign = n_headsign.toLowerCase();
}
public String getRoute () {
return route;
}
public String getHeadsign() {
return headsign;
}
public boolean equals(RouteHeadsignPair other) {
return(other.getRoute().equals(route) && other.getHeadsign().equals(headsign));
}
public int hashCode() {
return(route.hashCode());
}
}
Run Code Online (Sandbox Code Playgroud)
我通过从文本文件加载数据将一堆这些对象映射到字符串.稍后,基于(独立的)用户输入,我尝试查询HashMap使用RouteHeadsignPairObject.containsKey()返回false,get()返回null,就好像我从未将键添加到地图中一样.但是,奇怪的是,如果我使用下面的代码迭代地图(在哪里newKey是RouteHeadsignPair用户输入)
RouteHeadsignPair foundKey = null;
Iterator<RouteHeadsignPair> keysInMap = routeHeadsignToStopIdMap.keySet().iterator();
while(keysInMap.hasNext()) {
RouteHeadsignPair currKey …Run Code Online (Sandbox Code Playgroud)