我想创建一个以某个类为键的地图。我遇到的问题是,由于此类包含指针,因此如果我使用 HashMap,则在散列时使用此地址(请参阅下面的代码)。我怎样才能得到它来比较实际值而不是地址,或者我可以使用其他一些容器来达到相同的结果?
import java.util.*;
public class Main {
public static void main(String args[]) {
class Foo {
public Foo(String a) {s = a;}
public String s;
}
HashMap<Foo,Integer> a = new HashMap<Foo,Integer>();
a.put(new Foo("test"), 1);
System.out.println(a.get(new Foo("test")));
}
}
这输出null