大家好:
有个问题一直迷惑我,既然对象可以new一个出来,为什麽要有Clone方法,他比new出来的对象有什麽优势吗?或者说什麽情况下用clone方法?实现cloneable接口?
大家好:
有个问题一直迷惑我,既然对象可以new一个出来,为什麽要有Clone方法,他比new出来的对象有什麽优势吗?或者说什麽情况下用clone方法?实现cloneable接口?
如果什么时候你拿到一个对象,不知道其中的具体数据,但是想要一个一模一样的,那时候就用clone了
可是如果我不知道其中的具体数据和操作,又怎麽知道该不该用他呢?更谈不上Clone一个了?
你买了一太电脑,我想用,你肯定是不给了,因为我会把你的数据给删掉
所以你Clone一个给我
有一种情况需要这样使用。如果你的类中有这样一个方法
public static List getList(){return someList;} |
如果系统中的其他地方调用了
getList().clear(); |
someList |
这种操作有时是不希望发生的,这是可以使用clone方法,在get中返回
someList |
public static List getList(){return someList.clone();} |
偶可没说你连操作都不知道
你当然知道这个对象的接口,只是不知道内部数据和实现。