java 复制对象list demo
时间: 2023-09-05 15:07:21 浏览: 99
orika Java实例Demo
你可以使用Java中的序列化和反序列化来实现复制对象list的操作。下面是一个简单的示例代码:
```java
import java.io.*;
public class ListCopyDemo {
public static void main(String[] args) throws IOException, ClassNotFoundException {
// 原始list
List<String> originalList = new ArrayList<>();
originalList.add("Hello");
originalList.add("World");
// 复制list
List<String> copyList = deepCopy(originalList);
// 输出结果
System.out.println("Original List: " + originalList);
System.out.println("Copy List: " + copyList);
}
public static <T extends Serializable> List<T> deepCopy(List<T> srcList) throws IOException, ClassNotFoundException {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(srcList);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
List<T> destList = (List<T>) in.readObject();
return destList;
}
}
```
这个示例代码中,我们定义了一个`deepCopy`方法来实现复制list的操作。该方法使用Java序列化和反序列化来实现深度复制。在`deepCopy`方法中,我们首先将源list写入到一个字节数组输出流中,然后再从字节数组输入流中读取出对象并返回。最后,我们在`main`方法中使用`deepCopy`方法来复制原始list并输出结果。
阅读全文