你用了什么Object.clone()? [英] What have you used Object.clone() for?

查看:116
本文介绍了你用了什么Object.clone()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

A colleague recently asked me how to deep-clone a Map and I realized that I probably have never used the clone() method- which worries me.

什么你找到克隆对象的最常见场景是什么?

What are the most common scenarios you have found where you need to clone an object?

推荐答案

我假设你指的是 Java中的Object.clone()。如果是,请注意 Object.clone()存在一些主要问题,并且在大多数情况下不鼓励使用它。请参阅Joshua Bloch的Effective Java中的第11项,以获得完整的答案。我相信你可以安全地在原始类型数组上使用 Object.clone(),但除​​此之外,你需要明智地正确使用和覆盖克隆。您可能最好定义一个复制构造函数或静态工厂方法,根据您的语义显式克隆该对象。

I assume you are referring to Object.clone() in Java. If yes, be advised that Object.clone() has some major problems, and its use is discouraged in most cases. Please see Item 11, from "Effective Java" by Joshua Bloch for a complete answer. I believe you can safely use Object.clone() on primitive type arrays, but apart from that you need to be judicious about properly using and overriding clone. You are probably better off defining a copy constructor or a static factory method that explicitly clones the object according to your semantics.

这篇关于你用了什么Object.clone()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆