任何人都可以给我一个使用克隆的实际用法,我理解它是如何完成的以及它中的类型,但我没有看到它的实际用法。我也在某处读到它用于保存对象的状态,但我仍然认为对象的整个状态很少如此重要。
答案 0 :(得分:0)
有时你将对象属性加载到表单然后将每个属性绑定到(文本框,组合框,...),在对(文本框,复选框,...)进行更改后,即使取消也可以'得到原始值,所以克隆是最好的选择,
克隆你的对象然后绑定,如果要取消原始对象总是不变,这只是一个案例
答案 1 :(得分:0)
如果在对象X中有一个对象y封装(例如它是私有的),但是你提供了一个访问器方法(例如getY()),那么你就有可能将引用返回给你的私有对象而这并不好。您不希望客户端代码能够获取对它的引用。因此,您可以在getY()中复制或克隆该对象。如上所述虽然复制可能比克隆更受欢迎 - 请参阅Effective Java第11项。
以下是示例代码:
public class X {
private Date y = new Date();
// other code here
public Date getY() {
//this could be bad:
//return y;
//this is good:
return new Date(y);
}