????Java?????????????????:
????(1) ??new???????????????????????????????
????(2) ???÷?????Σ?????java.lang.Class????java.lang.reflect.Constructor???newInstance()?????????
????(3) ????????clone()??????
????(4) ???÷????л???Σ?????java.io.ObjectInputStream????? readObject()??????
????1.new??????????ù?????;
????2.?????????????????????乹?????????????????????????;
????3.??????????ж??????????????????????

????Person person= new Person();
????Person  person2= null;
????person2= (Person) person.clone();//????clone()?????????????
????4.???????л???????????????ù???????
public class BeanUtil {
@SuppressWarnings("unchecked")
public static <T> T cloneTo(T src) throws RuntimeException {
ByteArrayOutputStream memoryBuffer = new ByteArrayOutputStream();
ObjectOutputStream out = null;
ObjectInputStream in = null;
T dist = null;
try {
out = new ObjectOutputStream(memoryBuffer);
out.writeObject(src);
out.flush();
in = new ObjectInputStream(new ByteArrayInputStream(
memoryBuffer.toByteArray()));
dist = (T) in.readObject();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (out != null)
try {
out.close();
out = null;
} catch (IOException e) {
throw new RuntimeException(e);
}
if (in != null)
try {
in.close();
in = null;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return dist;
}
public static void main(String[] args) {
Person person = new Person();
Person person2 = cloneTo(person);// ???÷??????????????????
}
}