首页  :: 新随笔  :: 管理

Java中Object.clone方法的用途

Posted on 2011-07-31 16:04  季枫  阅读(552)  评论(0)    收藏  举报
clone方法是用来复制一个对象。不同于“=”。
对于值类型的数据是可以通过“=”来实现复制的。但是对于引用类型的对象,“=”只能复制其内存地址,使对象的引用指向同一个对象,而不会创建新的对象。clone则可以创建与原来对象相同的对象。举个例子:
有一个Car类
Car c1 = new Car();
Car c2 = c1;
这两句事实上只创建了一个对象。只不过c1和c2指向了同一个对象。
如果上面的两句改为:
Car c1 = new Car();
Car c2 = c1.clone();
那么就有了两个对象,而且这两个对象的内容是一样的。(所有的属性值相同) 
同时,我想说的是一楼的使用,虽然程序本身没有错误,但是用date.clone()添加到list当中,会再次创建date的对象,消耗内存资源,这是编程的忌讳。特别是编写java程序,更要好好利用内存的有限资源,避免浪费。
智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |