我正在使用自定义类Vec作为键HashMap.
但是Vec具有相同的两个相等对象hashCode()将不会映射到相同的键.
我究竟做错了什么?
import java.util.HashMap;
/**
* A 2-element float Vector
*/
class Vec {
public float x;
public float y;
public Vec(float x, float y) {
this.x = x;
this.y = y;
}
public Vec(Vec v) {
this.x = v.x;
this.y = v.y;
}
public boolean equals(Vec v) {
System.out.println("equals called");
return (x == v.x &&
y == v.y);
}
@Override
public int hashCode() {
final int prime = 31;
int …Run Code Online (Sandbox Code Playgroud) java ×1