我正在从事一个项目,该项目涉及我使用HashSet
我制作的一个类,我将命名为Test
. 我这样定义陈述HashSet
:
HashSet<Test> t = new HashSet<Test>();
t.add(new Test("asdf", 1));
t.add(new Test("hello", 2));
t.add(new Test("hello", 3));
我尝试使用
t.contains(new Test("asdf", 1));
但它返回false
。但是,当我使用 a 时HashSet<Character>
,它似乎工作正常。我尝试覆盖先前的equals
声明,但没有奏效。我试着equals
独自离开,但我仍然得到false
。我需要知道我做错了什么?
另外,我没有编辑散列函数,我只更改了 Test.equals(Object o)。这是一个简单的项目,由于 java 文档声明它使用 o.equals(this),我想我不必这样做。