对基本类型的变量进行拷贝非常简单,直接赋值给另外一个对象即可: int b = 50; int a = b; // 基本类型赋值 对于引用类型的变量(例如 String),情况稍微复杂一些,因为直接等号赋值只是复制了一份引用,而复制前后的两个引用指向的是内存中的同一个对象. 要想实现引用类型的拷贝,可以通过实现 Cloneable 接口,并覆盖其中的 clone 方法来实现. 看一个例子,首先定义一个待拷贝的 Student 类,为简单起见,只设置了一个 name 属性 class Studen…
今天遇到一道面试题,询问深拷贝的两种方法.主要就是clone方法和序列化方法.今天就来分析一下这两种方式如何实现深拷贝.如果想跳过解析的朋友,直奔"重点来了!"寻找答案. clone方法 例1:我们不妨建立一个Exam对象 考试类Exam.java文件 public class Exam implements Cloneable { private int examId; private String examName; public Exam() { } public Exam(in…
原本写过,后来在阅读的时候,感觉自己都不是太明白了,删除后参考人家的又重新写了一份. 一:开篇 1.复制一个变量 举例是int类型. 其他其中七种原始数据类型同样适用. 原始类型:boolean,char,byte,short,float,double.long int apples = 5; int pears = apples; 2.复制一个对象 package com.jun.it; public class CopyTest { public static void main(Strin…