📄 registerarraylist.java
字号:
package net.betterjava.design.collection.shadowcopy;
import java.util.ArrayList;
import java.util.Iterator;
public class RegisterArrayList implements Cloneable {
private ArrayList visitors;
public RegisterArrayList() {
visitors = new ArrayList();
}
public RegisterArrayList(ArrayList para) {
visitors = para;
}
public void add(Visitor v) {
visitors.add(v);
}
public Object clone() {
return new RegisterArrayList((ArrayList) visitors.clone());
}
public void amendFirstAddress(String newAddress) {
((Visitor) visitors.get(0)).setAddress(newAddress);
}
public String toString() {
StringBuffer temp = new StringBuffer();
Iterator it = visitors.iterator();
while (it.hasNext()) {
Visitor v = (Visitor) it.next();
temp.append(v.getName()).append(":").append(v.getAddress()).append("\n");
}
return temp.toString();
}
public static void main(String[] args) {
RegisterArrayList r = new RegisterArrayList();
r.add(new Visitor("Alex", "Fa Hua Zhen Road"));
r.add(new Visitor("Field", "Xiao Mu Qiao Road"));
System.out.println(r);
RegisterArrayList copy = (RegisterArrayList) r.clone();
copy.amendFirstAddress("Fan Yu Road");
System.out.println(r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -