深拷贝和浅拷贝

Java50

java代码实现

浅拷贝:你获取 teacher1拷贝后的对象 teacher2,你使用 teacher2去修改某个引用对象会改变之前的对象的引用,相当于将 teacher2的引用指向 teacher的对象引用。深拷贝就不会,相当于复制了一份过来。

但如果它是基本数据类型:深度复制或浅复制都不会更改前一个,因为基础类型克隆值。

[En]

But if it is a basic data type: either deep copy or shallow copy will not change the previous one, because the underlying type clones values.

如果是String或者Integer这种包装类型:不管深拷贝、浅拷贝都不会改变之前的。因为他们都是不可变类。

string我就不截图了,Integer图:

深拷贝和浅拷贝

深拷贝和浅拷贝

```
package tempTest;

import java.util.ArrayList;
import java.util.List;

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

SSM项目的登录功能controller层的实现

1.需求分析 用户在登录页面,输入用户名和密码,点击"登录"按钮或者回车,完成用户登录的功能. 用户名和密码不能为空 用户名或者密码错误 , 用户已过期 , 用户状态被锁定, ip受限 都不能登录成功...
Java

线程池

为什么要使用线程池?什么是线程池?字面意思(他是一种基于池化思想管理和使用线程的机制,他将多个线程预先存储在一个池子中) 池化思想应用: 内存池:预先申请内存,提升申请内存速度,减少内存碎片. 连接池...
Java

记一次k8s部署问题

问题描述 在k8s master节点按步骤创建成功后,执行从节点的加入操作,发现一直超时无法加入 问题日志 ```bash [root@node02 kubernetes-1.14]# kubeadm...
Java

面向对象2(Java)

该露的露,该藏的藏,我们的程序设计要追求"高内聚,低耦合": 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用 封装(数据隐藏):通常禁止直接访问对象中数据的实...
Java

设计模式之迭代器模式

本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以Jdk源码集合中使用迭代器模式的应用进一步说明,最后说明...
Java

方法(Java)

什么是方法? 基本介绍 在其他语言中也叫函数 System.out.println();类名.对象.方法; Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包...
Java

关系型数据库的几种常用主键

一般来说关系型数据库,绝大多数表都有数据库主键。 数据库主键的创建,一般有如下几种形式: 使用数据库自增长主键的语法。 有些数据库,比如 MS SQL Server, MySQL ,都有对应的语法,可...