当前位置: 代码迷 >> 综合 >> java --Cloneable 标识性接口
  详细解决方案

java --Cloneable 标识性接口

热度:27   发布时间:2024-02-23 15:49:57.0

Cloneable简单使用(一)

1.类型:和序列化接口一样为标识性接口
在这里插入图片描述
2.主要作用:进行对象属性的复制。
根据给定的源对象复制出一份新的对象,新的对象有完全一致的数据拷贝
3.前提条件:
被克隆对象所在的类必须要实现Cloneable接口
必须重写clone方法

4.实例代码:
(一定要继承Cloneable接口,否则则会报CloneNotSupportedException 异常信息
自定义类拷贝

public class CloneTest implements Cloneable {
    private String name;private int age;public static void main(String[] args) throws CloneNotSupportedException {
    CloneTest source = new CloneTest();source.setName("w");source.setAge(11);Object target = source.clone();System.out.println(target);//目标地址是否一样System.out.println(target==source);}

集合的克隆使用
ArrayList底层实现了cloneable接口

public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable
/*** ArrayList 集合进行克隆*/
public class ArrayListClone {
    public static void main(String[] args) {
    ArrayList<String> list=new ArrayList<>();list.add("1");list.add("23");list.add("4");Object clone = list.clone();System.out.println(list);System.out.println(clone);System.out.println(list==clone);}}
控制台输出结果为:
[1, 23, 4]
[1, 23, 4]
false
  相关解决方案