Java 开发中,对象拷贝是常有的事,很多人可能搞不清到底是拷贝了引用还是拷贝了对象。本文将详细介绍相关知识,让你充分理解 Java 拷贝。 方法执行过程中,方法体中的数据类型主要分两种,它们的存储方式是不同的(如下图): 基本数据类型: 直接存储在栈帧的局部变量表中; 引用数据类型: 对象的引用存储在栈帧的局部变量表中,而对实例本身及其所有成员变量存放在堆内存中。 详情可见JVM基础 创建两个实体类方便后续的代码示例 @Data @AllArgsConstructor public class Animal{ private int id; private String type; @Override public String toString () { return "Animal{" + "id=" + id + ", type='" + type + '\'' + '}'; } } @Data @AllArgsConstructor public class Dog { private int age; private String name; private...