【发布时间】:2011-03-11 22:23:42
【问题描述】:
我有以下代码:
public class MyElement {
String name;
String type;
MyElement(String name, String type) {
this.name = name;
this.type = type;
}
}
public class Test {
public static void main(String[] args) {
Set<MyElement> set = new HashSet<MyElement>();
set.add(new MyElement("foo", "bar"));
set.add(new MyElement("foo", "bar"));
set.add(new MyElement("foo", "bar"));
System.out.println(set.size());
System.out.println(set.contains(new MyElement("foo", "bar")));
}
}
执行时返回:
3
false
我本来希望结果为 1 且为真。为什么我的元素不被认为是相同的,我该如何纠正这个问题? 谢谢, 韦恩。
【问题讨论】: