📄 registervector.java
字号:
package net.betterjava.design.collection.shadowcopy;
import java.util.*;
public class RegisterVector implements Cloneable {
private Vector visitors;
public RegisterVector() {
visitors = new Vector();
}
public RegisterVector(Vector para) {
visitors = para;
}
public void add(Visitor v) {
visitors.add(v);
}
public Object clone() {
return new RegisterVector((Vector) 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) {
RegisterVector r = new RegisterVector();
r.add(new Visitor("Alex", "Fa Hua Zhen Road"));
r.add(new Visitor("Field", "Xiao Mu Qiao Road"));
System.out.println(r);
RegisterVector copy = (RegisterVector) r.clone();
copy.amendFirstAddress("Fan Yu Road");
System.out.println(r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -