Object.clone只能克隆基本类型,如果里面包含其他的Object的,那么其对象还是只想原来的引用.所以在Clone的时候,内部对象也要克隆,否则就容易出bug
/*******************************************************************************
* 版权信息:北京中通天鸿武汉分公司
* @author xuchang
* Copyright: Copyright (c) 2007北京中通天鸿武汉分公司,Inc.All Rights Reserved.
* Description:
******************************************************************************/
public class Test {
public static void main(String[] args) throws CloneNotSupportedException {
Message message = new Message();
message.setKey("1");
message.setValue("3");
SubMessage subMessage = new SubMessage();
subMessage.setData("hello");
message.setSubMessage(subMessage);
Message message1 = (Message) message.clone();
SubMessage subMessage1 = message1.getSubMessage();
System.out.println(message1.toString());
System.out.println(subMessage1.getData());
subMessage1.setData("word nima");
System.out.println(subMessage.getData());
System.out.println(subMessage1.getData());
}
}