当前位置: 首页 > news >正文

【Java】数组的深浅拷贝问题(二维数组举例)(136)

深拷贝和浅拷贝

对于数组来说,深拷贝就是相当于拷贝了数组的对象(基本数据类型),也就是数组当中的内容。而浅拷贝就是拷贝的是数组的地址(引用类型),浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化。

数组的拷贝:数组拷贝有深拷贝和浅拷贝

深拷贝:一般使用Arrays.copyOf() 方法,,深拷贝修改新的数组不改变原数组。
浅拷贝:一般使用arr.clone() 方法,浅拷贝修改新数组和原数组。

深浅拷贝二维数组举例

package com.day02;import java.util.Arrays;public class day02 {public static void main(String[] args) {String[][] arr = {{"10","20"},{"30","40","50"},{"60","70","80","90"}};for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.println("拷贝前原数组:"+arr[i][j]);}}System.out.println("--------------------------------------");//方式一:深拷贝二维数组(Arrays.copyOf):深拷贝修改新数组不改变原数组;String[][] arr2 = new String[arr.length][];for (int i = 0; i < arr2.length; i++) {arr2[i] = Arrays.copyOf(arr[i], arr[i].length);}for (int i = 0; i < arr2.length; i++) {for (int j = 0; j < arr2[i].length; j++) {arr2[i][j] = arr2[i][j] + "%";}}for (int i = 0; i < arr2.length; i++) {for (int j = 0; j < arr2[i].length; j++) {System.out.println("深拷贝后新数组:"+arr2[i][j]);}}System.out.println("---");for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.println("深拷贝后原数组:"+arr[i][j]);}}System.out.println("--------------------------------------");//方式二:浅拷贝二维数组(clone):浅拷贝修改新数组和原数组;String[][] arr3 = arr.clone();for (int i = 0; i < arr3.length; i++) {for (int j = 0; j < arr3[i].length; j++) {arr3[i][j] = arr3[i][j] + "#";}}for (int i = 0; i < arr3.length; i++) {for (int j = 0; j < arr3[i].length; j++) {System.out.println("浅拷贝后新数组:"+arr3[i][j]);}}System.out.println("---");for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.println("浅拷贝后原数组:"+arr[i][j]);}}}
}

测试输出:

拷贝前原数组:10
拷贝前原数组:20
拷贝前原数组:30
拷贝前原数组:40
拷贝前原数组:50
拷贝前原数组:60
拷贝前原数组:70
拷贝前原数组:80
拷贝前原数组:90
--------------------------------------
深拷贝后新数组:10%
深拷贝后新数组:20%
深拷贝后新数组:30%
深拷贝后新数组:40%
深拷贝后新数组:50%
深拷贝后新数组:60%
深拷贝后新数组:70%
深拷贝后新数组:80%
深拷贝后新数组:90%
---
深拷贝后原数组:10
深拷贝后原数组:20
深拷贝后原数组:30
深拷贝后原数组:40
深拷贝后原数组:50
深拷贝后原数组:60
深拷贝后原数组:70
深拷贝后原数组:80
深拷贝后原数组:90
--------------------------------------
浅拷贝后新数组:10#
浅拷贝后新数组:20#
浅拷贝后新数组:30#
浅拷贝后新数组:40#
浅拷贝后新数组:50#
浅拷贝后新数组:60#
浅拷贝后新数组:70#
浅拷贝后新数组:80#
浅拷贝后新数组:90#
---
浅拷贝后原数组:10#
浅拷贝后原数组:20#
浅拷贝后原数组:30#
浅拷贝后原数组:40#
浅拷贝后原数组:50#
浅拷贝后原数组:60#
浅拷贝后原数组:70#
浅拷贝后原数组:80#
浅拷贝后原数组:90#

相关文章:

【Java】数组的深浅拷贝问题(二维数组举例)(136)

深拷贝和浅拷贝&#xff1a; 对于数组来说&#xff0c;深拷贝就是相当于拷贝了数组的对象&#xff08;基本数据类型&#xff09;&#xff0c;也就是数组当中的内容。而浅拷贝就是拷贝的是数组的地址&#xff08;引用类型&#xff09;&#xff0c;浅拷贝只是复制了对象的引用地…...

【轮趣-科大讯飞】M260C 环形六麦测试 2 - ROS1功能测试与唤醒、语音识别程序解析

所有内容请看&#xff1a; 博客学习目录_Howe_xixi的博客-CSDN博客https://blog.csdn.net/weixin_44362628/article/details/126020573?spm1001.2014.3001.5502原文在飞书&#xff0c;请联系我获取阅读链接&#xff0c;我太懒了...

油猴(篡改猴)学习记录

第一个Hello World 注意点:默认只匹配了http网站,如果需要https网站,需要自己添加match https://*/*代码如下 这样子访问任意网站就可以输出Hello World // UserScript // name 第一个脚本 // namespace http://tampermonkey.net/ // version 0.1 // descri…...

LeetCode 面试题 05.08. 绘制直线

文章目录 一、题目二、Java 题解 一、题目 已知一个由像素点组成的单色屏幕&#xff0c;每行均有 w 个像素点&#xff0c;所有像素点初始为 0&#xff0c;左上角位置为 (0,0)。 现将每行的像素点按照「每 32 个像素点」为一组存放在一个 int 中&#xff0c;再依次存入长度为 le…...

机器人中的数值优化|【六】线性共轭梯度法,牛顿共轭梯度法

机器人中的数值优化|【六】线性共轭梯度法&#xff0c;牛顿共轭梯度法 往期回顾 机器人中的数值优化|【一】数值优化基础 机器人中的数值优化|【二】最速下降法&#xff0c;可行牛顿法的python实现&#xff0c;以Rosenbrock function为例 机器人中的数值优化|【三】无约束优化…...

FastestDet---原理介绍

1.测试指标 2.算法定位 FastestDet是设计用来接替yolo-fastest系列算法,相比于业界已有的轻量级目标检测算法如yolov5n, yolox-nano, nanoDet, pp-yolo-tiny, FastestDet和这些算法根本不是一个量级,FastestDet无论在速度还是参数量上,都是要小好几个数量级的,但是精度自然…...

ORACLE 在内存管理机制上的演变和进化

截止目前&#xff0c;计算机内存仍然被认为是我们可以获得的最快速度的物理存储设备。 将频繁访问的数据尽可能地置于内存中&#xff0c;已成为当前各种软件和应用程序提高数据访问性能&#xff0c;减少访问延迟的最为有效的途径。 然而&#xff0c;内存作为关键的计算资源&am…...

Linux ❀ 进程出现process information unavailable时的消除方法

[rootmaster ~]# jps 74963 -- process information unavailable 78678 Jps [rootmaster ~]# cd /tmp/hsperfdata_redhat/ # redhat为启动该java进程的用户ps -ef | grep $pid查找 [rootmaster hsperfdata_redhat]# ll total 32 -rw------- 1 redhat redhat 32768 Sep 27 15:…...

ps智能填充功能平替:alpaca的安装和使用

为了解决ps beta 智能填充无法使用的问题&#xff0c;需要用alpaca来平替&#xff0c;下面是安装教程&#xff1a; 安装方法&#xff1a; 1、下载插件。 alpaca插件汉化-夸克网盘https://pan.quark.cn/s/1168b447a44e#/list/share 2、 根据使用的PS版本&#xff0c;选择对应文件…...

【前端打怪升级日志之ES6篇】玩转函数

学习资料 阮一峰老师《ECMAScript 6 入门》— 函数的扩展 总结应用 1. 函数参数默认值与对象解构赋值默认值的结合使用 // 场景&#xff1a;方法调用时传参希望只传第二个参数 // 方案1&#xff1a; function foo({x1,y2}){console.log(x,y); } foo({}) //1 2 foo({x:2}) /…...

网址静态码手机制作教程,附图文详解!

网址的静态码是如何生成的呢&#xff1f;静态码是二维码的一种常用类型&#xff0c;一般常见的静态码类型主要是文本或者网址&#xff0c;那么在电脑制作静态码的方法相信很多小伙伴都知道怎么做&#xff0c;那么手机上制作的方法&#xff0c;大家感兴趣吗&#xff1f;下面来给…...

服务器性能测试监控平台export+prometheus(普罗米修斯)+grafana搭建

1. export 数据采集工具 简介&#xff1a; export是prometheus是的数据采集组件的总称&#xff0c;它可以将采集到的数据转为prometheus支持的格式 node_export: 用来监控服务器硬件资源的采集器&#xff0c;端口号为9100mysql_export: 用来监控mysql数据库资源的采集器&…...

【24种设计模式】责任链模式

责任链模式是一种行为设计模式&#xff0c;它允许你将请求沿着处理链进行传递&#xff0c;直到有一个处理者能够处理该请求为止。这种模式将请求的发送者和接收者解耦&#xff0c;使多个对象都有机会处理该请求。 责任链模式的结构 责任链模式由以下几个角色组成&#xff1a;…...

C#异步委托的三种实现 BeginInvoke / EndInvoke / IsCompleted

本文将介绍C#异步委托的三种实现方式&#xff0c;并给出相关示例代码及解析。 注意事项 用委托开启线程的前提是&#xff1a;创建项目时必须选择“.NET Framework"&#xff0c;如果选择的是”.Net Core“&#xff0c;在调用BeginInvoke时&#xff0c;系统会报错”Operati…...

在HTTP请求中安全传输base64编码的字符串

前言 base64是一种常见的的编码格式&#xff0c;它可以把二进制数据编码成一个由大小写英文字母&#xff08;a-zA-Z&#xff09;、阿拉伯数字&#xff08;0-9&#xff09;&#xff0c;以及三个特殊字符、/、组成的字符串。 问题 但是在URL传输中&#xff0c;、/、这三个特殊…...

05预测识别-依托YOLO V8进行训练模型的识别——对视频中的图片进行识别

在前面的一些章节中,我们已经讲如何准备打标签的素材、如何制作标签、如何训练以及得到我们最终需要的用于YOLO目标识别的模型。那么现在我们就要正式开始,利用我们训练得到的best.pt,这个模型文件来对图片视频进行识别。 1、基本思路 公安交管场景中,我们经常会遇到需要…...

LeetCode算法题---第3天

注:大佬解答来自LeetCode官方题解 121.买卖股票的最佳时期 1.题目 2.个人解答 function maxProfit(prices) {//更新最低价格和最大利润let minPrice prices[0];let maxProfit 0;for (let i 1; i < prices.length; i) {// 如果当前价格比最低价格还低&#xff0c;更新最…...

欧洲FBA专线海运与陆运的差别

随着全球电商市场的快速发展&#xff0c;越来越多的卖家选择将产品销售到欧洲市场。然而&#xff0c;面对欧洲境内的物流问题&#xff0c;卖家们往往会面临一个重要的选择&#xff1a;选择欧洲FBA专线时是选择海运还是陆运?这两种运输方式在时效、成本和服务质量上都有所不同&…...

UDS诊断

一、UDS诊断简介 汽车诊断技术是指在不拆卸车辆的情况下&#xff0c;通过读取车辆在运行过程中所记录的数据或故障码来查明故障原因&#xff0c;并确定故障部位的汽车应用技术。通过诊断&#xff0c;可以快速检测到汽车故障来提高汽车安全性和维修效率。 USD协议诊断主要采用“…...

计算材料学学习记录1

计算材料学学习记录1 平台&#xff1a;Bohrium 老师&#xff1a;单斌教授 文章目录 1.发展史背景计算材料学 2.计算方法分类3.计算材料学的应用 1.发展史 背景 材料的研究方法发展&#xff1a; 一切靠实验理论开始起作用理论撑起半边天 “……解决全部化学的规律的数学方法…...

GMSL GUI实战:利用EOM眼图与Link Margin优化高速链路设计

1. GMSL高速链路设计的核心挑战 在车载摄像头、工业视觉等需要长距离传输高清视频的场景中&#xff0c;GMSL&#xff08;千兆多媒体串行链路&#xff09;技术凭借其高带宽和抗干扰能力成为首选方案。但当我第一次尝试设计6Gbps的GMSL3链路时&#xff0c;信号完整性问题就像个隐…...

从零搭建WebRTC信令服务:SpringBoot WebSocket与Vue3的实战协同

1. WebRTC信令服务基础认知 第一次接触WebRTC时&#xff0c;我被它直接建立P2P连接的能力惊艳到了——就像两个陌生人突然跳过所有中间环节直接开始面对面交流。但很快我发现&#xff0c;这种"魔法"背后需要一套精密的协调机制&#xff0c;这就是信令服务的用武之地。…...

如何快速开发Kibana自定义React组件:面向开发者的完整指南

如何快速开发Kibana自定义React组件&#xff1a;面向开发者的完整指南 【免费下载链接】kibana Your window into the Elastic Stack 项目地址: https://gitcode.com/GitHub_Trending/ki/kibana Kibana作为Elastic Stack的核心数据可视化平台&#xff0c;其强大的插件架…...

无需编程!cv_resnet18_ocr-detection WebUI界面操作详解

无需编程&#xff01;cv_resnet18_ocr-detection WebUI界面操作详解 1. 开篇&#xff1a;为什么选择这个OCR工具&#xff1f; 在日常工作和生活中&#xff0c;我们经常需要从图片中提取文字信息。传统OCR工具要么需要复杂的编程接口&#xff0c;要么功能单一难以满足需求。今…...

如何永久保存微信聊天记录:WeChatExporter完整解决方案

如何永久保存微信聊天记录&#xff1a;WeChatExporter完整解决方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾因手机丢失、系统升级或误操作而丢失珍贵的微…...

AI 对人类的影响与普通人的应对策略

AI 对人类的影响与普通人的应对策略 AI 作为当下科技革命的核心驱动力&#xff0c;正在以较快速度影响人类社会。近年的发展呈现出更复杂的图景&#xff1a;技术能力提升与落地成本并存&#xff0c;效率提升与分配不均交织&#xff0c;乐观预期与治理困境相互叠加&#xff0c;影…...

pose-search:Web端人体姿态识别与动作检索的革新实践

pose-search&#xff1a;Web端人体姿态识别与动作检索的革新实践 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search 在计算机视觉与Web技术深度融合的今天&#xff0c;pose-search作为一款开源项目&am…...

明略科技公布上市后首次年报:营收14亿 经调整净利4204万

雷递网 雷建平 3月26日明略科技&#xff08;股份代码&#xff1a;2718&#xff09;今日发布截至2025年12月31日财报&#xff0c;财报显示&#xff0c;明略科技2025年营收14.26亿&#xff0c;较上年同期的13.81亿增长3.2%。明略科技2025年来自数据智能服务收入为12.6亿元&#x…...

TMS320F280049系列文章之第二章 工程搭建实战:从零配置到路径设置的避坑指南

1. 工程准备与环境搭建 第一次接触TMS320F280049开发的朋友&#xff0c;可能会被复杂的工程配置劝退。别担心&#xff0c;跟着我的步骤走&#xff0c;保证你能顺利搭建第一个工程。我用的环境是CCS10.3.1和C2000Ware_4_01&#xff0c;这也是目前比较稳定的组合。 先说说准备工作…...

Jimeng LoRA多版本管理技巧:自然排序与热切换功能详解

Jimeng LoRA多版本管理技巧&#xff1a;自然排序与热切换功能详解 1. 项目背景与核心价值 在AI图像生成领域&#xff0c;LoRA&#xff08;Low-Rank Adaptation&#xff09;技术已经成为微调大型扩散模型的主流方法。Jimeng LoRA系统针对模型迭代测试场景&#xff0c;解决了两…...