Java的复制有的 deepcopy 和 shapecopy 之分,这里简单的采用shapecopy 的 clone ( ) 方法, 但是指向的是同一个对象, 关于对象的问题,这里不做展开:
// processing 软件
import java.util.*;
LinkedList<Integer> path = new LinkedList<Integer>();
path.add(5);
path.add(22);
LinkedList<Integer> verpath = new LinkedList<Integer>(); // init..
verpath = (LinkedList) path.clone(); // copy 同时要进行转型
println(verpath);
verpath.add(2);
println(verpath);
println(path);
verpath.removeFirst();
println(verpath);
println(path);
输出结果:
[5, 22]
[5, 22, 2]
[5, 22]
[22, 2]
[5, 22]
总结: Java 的 List 的 clone( ) 方法需要被存放的数据结构要和源数据有相同的结构,并且一个发生变化不会改变另外一个的值。