public class MyString { private String data; public MyString(String data) { this.data = data; } public String toString() { return data; } /** Tests if data is the same. */ public boolean equals(MyString other) { System.err.println("debug: equals(MyString)"); return this.data.equals(other.data); } /** Tests object identity. */ public boolean equals(Object other) { System.err.println("debug: equals(Object)"); return this == other; } }