0

谁能给我一个使用克隆的实际用法,我了解它是如何完成的以及其中的类型是什么,但我没有看到它的实际用法。另外我在某处读到它用于保存对象的状态,但我仍然认为很少有对象的整个状态会如此重要。

4

2 回答 2

0

有时您将对象属性加载到表单然后将每个属性绑定到(文本框,组合框,...),在您更改(文本框,复选框,...)之后,即使您取消也无法获得原始值,所以克隆是最好的选择

克隆你的对象然后绑定,如果你想取消原来的对象总是不变的,这只是一种情况

于 2013-05-09T15:48:20.633 回答
0

如果您在对象 X 中封装了一个对象 y(例如它是私有的),但您提供了一个访问器方法(例如 getY()),那么您可能会返回对私有对象的引用,这并不好。您不希望客户端代码能够获得对它的引用。因此,您可以在 getY() 中复制或克隆对象。如前所述,尽管复制可能比克隆更可取——参见 Effective Java item 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);
    }
于 2013-05-09T16:03:36.360 回答