`
从此醉
  • 浏览: 1041229 次
  • 性别: Icon_minigender_1
  • 来自: US
社区版块
存档分类
最新评论

Java Clone方法之懒人实现

 
阅读更多

在Java的Object类中定义了(protected)clone()方法,如果自己的类需要clone方法的话需要实现Cloneable接口,并重写clone()方法和将方法访问级别改为(public)。但是如果自己的类如果属性比较多,重写clone方法还是会花去不少时间,更重要的是以后增加或者删除属性的时候也要相应修改clone方法,总的来说还是比较麻烦的。

这里如果对性能不太计较的话,其实可以有一个简单快速的方法实现clone方法,就是使用Java语言的序列化功能来实现clone方法,如下:

以下是几个测试的Bean类

Clone工具类,这个类负责通过序列化和反序列化做到对一个对象的clone

测试类

运行测试类可以看到结果。这里通过代码可以看出这种实现还是有一些限制的:

1. 自己的bean必须实现Serializable接口;

2. 由于这种实现使用了序列化,所以性能不是很好,所以如果对象太多,不建议使用;

3. 由于在序列化的过程中没有将对象序列化到文件中,而是保留在了内存数组中,所以如果对象太大的话,会造成比较大的内存使用,需要注意。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics