我有HashMap<Shop, String> shopMap
我放了两个值:
shopMap(shopModel1, shopModel1.getName());
shopMap(shopModel2, shopModel2.getName());
在我的搜索商店名称方法中,我通过shopModel1相同的商店对象获取他的名字:
public String getNameForShop(Shop filter) {
return shopMap.get(filter);
}
但我得到了空。对象具有相同的所有值。有什么方法可以使用对象从哈希映射中获取商店名称吗?
答案 0 :(得分:1)
将对象作为键值是不可行的。按名称映射。
我猜对象的映射,事实上,它发生在对象的内存地址上。然后在地图中搜索不比较对象字段的对象,只搜索地址。
HashMap<String, Shop> shopMap;
if( shopMap.get("shopname").equals(anotherShop) ){
//do staff
}