我执行下面的代码,发现输出是假的.
import java.util.Set; import java.util.HashSet; public class Name { private String first,last; public Name(String first,String last) { this.first = first; this.last = last; } public boolean equals(Object o) { if (!(o instanceof Name)) return false; Name n = (Name) o; return n.first.equals(first) && n.last.equals(last); } public static void main(String[] args) { Set<Name> s = new HashSet<Name>(); s.add(new Name("Donald","Duck")); System.out.println(s.contains(new Name("Donald","Duck"))); } }