import java.util.HashSet;
import java.util.Objects;
class Email {
private String address;
private String name;
public Email(String address, String name) {
this.address = address;
this.name = name;
}
public String getAddress() { return address; }
public String getName() { return name; }
public void setAddress(String address) { this.address = address; }
@Override public int hashCode() { return Objects.hash(address, name); }
@Override public boolean equals(Object obj) {
if (obj instanceof Email) {
Email that = (Email) obj;
return Objects.equals(this.address, that.address)
&& Objects.equals(this.name, that.name);
}
return false;
}
}
public class EmailTest {
public static void main(String[] args) {
HashSet<Email> emailSet = new HashSet<>();
Email email = new Email("yy.com", "Tom");
emailSet.add(email);
email.setAddress("xyz.com");
System.out.println(emailSet.contains(email));
emailSet.remove(email);
for (Email e : emailSet) {
System.out.println(e.getAddress());
System.out.println(e.getName());
}
}
} 关于这段代码正确的是?