尝试实现深度复制,但是当我在 main 中使用 equal() 测试我的方法时,尽管所有数据都是相同的,但结果却是错误的。
这是我的克隆方法:
@Override
public Object clone() { try {
// shallow copy
BankAccount clone = (BankAccount)super.clone();
// deep copy
clone.createDate = (java.util.Date)(createDate.clone());
return clone;
}
catch (CloneNotSupportedException y) {
return null; }
Run Code Online (Sandbox Code Playgroud)
这是我的主要测试:
public static void main(String[] args) {
BankAccount account1 = new BankAccount(1111, 5347);
BankAccount account2 = (BankAccount)account1.clone();
System.out.println(account2.equals(account1));
Run Code Online (Sandbox Code Playgroud)