相关疑难解决方法(0)

Java:Cloneable接口的基本原理

为什么界面中没有.clone()指定方法java.lang.Cloneable

java specifications clone cloneable

32
推荐指数
4
解决办法
7508
查看次数

你用了什么Object.clone()?

一位同事最近问我如何深度克隆Map,我意识到我可能从未使用过克隆()方法 - 这让我很担心.

您找到克隆对象的最常见方案是什么?

java

14
推荐指数
2
解决办法
2904
查看次数

Java中泛型类型的深层副本

泛型类型的深层副本(克隆)如何T, E在Java中工作?可能吗?

E oldItem;
E newItem = olditem.clone(); // does not work
Run Code Online (Sandbox Code Playgroud)

java generics clone generic-programming

6
推荐指数
1
解决办法
6346
查看次数

Java中必需的可复制接口

我在Java中遇到了一个小问题.我有一个名为Modifiable的界面.实现此接口的对象是可修改的.

我也有收到两个修改的对象ModifyCommand类(Command模式)(交换它们在列表中进一步上 - 这不是我的问题,我设计的解决方案的话).

ModifyCommand类首先创建可修改对象的克隆.从逻辑上讲,我使我的Modifiable接口扩展了Cloneable.接口然后定义一个clone()方法,其实现类必须重新定义.

然后,在ModifyCommand中,我可以这样做:firstModifiableObject.clone().我的逻辑是,实施修改的类必须从对象重新定义clone方法,因为他们将可复制(这就是我想要做的).

问题是,当我定义类实现了可修改的,我想重写克隆(),它不会让我,指出从Object类的clone()方法隐藏可修改的一个.

我该怎么办?我的印象是"我做错了"......

谢谢,

纪尧姆.

编辑:它认为我会忘记clone()的事情.我将a)假设传递给Modifiable对象(实现接口)的对象已经克隆或b)创建另一个调用的方法,例如copy(),它基本上会执行Modifiable对象的深层复制(或者通用解决方案可以工作......).

java overriding clone interface

4
推荐指数
1
解决办法
5721
查看次数