copy.java

来自「传教士与野人过河」· Java 代码 · 共 24 行

JAVA
24
字号
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/** 
 * Provides a static method to perform deepcopy of object via serialization. 
 */
class Copy {
	 static Object deepCopy(Object o) {
		try {
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			ObjectOutputStream oos = new ObjectOutputStream(baos);
			oos.writeObject(o);
			oos.close();

			ObjectInputStream ois = new ObjectInputStream(
					new ByteArrayInputStream(baos.toByteArray()));
			return ois.readObject();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
}

⌨️ 快捷键说明

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