⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recursiveclone.java

📁 高质量Java程序设计 源代码
💻 JAVA
字号:
package net.betterjava.design.collection.deepcopy;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import net.betterjava.design.collection.shadowcopy.Visitor;

public class RecursiveClone {
	private static void printList(List list) {
		Iterator it = list.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
	}

	private static List copy(ArrayList list) throws CloneNotSupportedException {
		List copyList = new ArrayList();
		Iterator it = list.iterator();
		while (it.hasNext()) {
			copyList.add(((Visitor) it.next()).clone());
		}
		return copyList;
	}

	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add(new Visitor("Alex", "Fa Hua Zhen Road"));
		list.add(new Visitor("Field", "Xiao Mu Qiao Road"));

		try {
			List copyList = copy(list);
			((Visitor) copyList.get(0)).setAddress("Fan Yu Road");
			printList(list);
			printList(copyList);
		} catch (CloneNotSupportedException e) {
			e.printStackTrace(System.out);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -