java中的Map的键如果是自己写的一个类的对象,怎么根据这个键获取值

因为现在无法获得最开始Map.put(键,值)中的那个键,重新创建一个一样的那个对象,放在get()中无法获得,有没有解决方法

重写自定义对象的hashcode()方法,让内容相同的对象返回一样的hashcode..默认情况自定义对象是以内存地址为hashcode,你“重新创建一个一样的对象”,存在“重新创建”就会导致对象不一样...所以要重写覆盖hashcode方法才能获取到map值
另外,也可以低层一点,你的自定义对象上设一个int id属性. 而Map转为以id为键,比如Map<int, Value>。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答