Java - 对非不可变对象使用拷贝构造器
比起使用 clone
方法,在 Java 中拷贝一个对象更加简单的办法是使用拷贝构造器。比方说,我们的 Person
类中有如下的构造函数:
1 | public Person(String name, int age) { |
那么就可以有这样的拷贝构造器:
1 | public Person(Person person) { |
该构造器可以使用和被拷贝对象同样的 name
和 age
属性,创建另一个 Person
对象。然而,必须要注意的是,拷贝不可变对象是完全没有必要的,所以我们只能用这种拷贝构造器来操作那些状态可变的对象。举例来说,只要 Person
类有这样的方法:
1 | public void setName(String name) { |
那么就大可使用拷贝构造器。
更多资料,请参阅相关文档。
原文作者: Kun Chen
原文链接: http://kchen.cc/2017/02/22/java-copy-constructor/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议