在Java中,基本数据类型的赋值和拷贝如下:
例如
int num = 1;
int pum = num;

pum = 3;
此时输出sum的值还是1,而pum的值则为3。

对于数组来说,该操作为引用赋值(地址拷贝)
例如:
int [] arr1 = {1,2,3};
int [] arr2 = arr1;
int [0] = 8;

此时arr1和arr2输出的都是{1,2,3}。
上面讲的基本数据类型,他们的值是存放在栈里面,作为数据的拷贝,他们之间互不影响。而数组在栈里面存放的是地址,他的数据空间在堆里面,也就是说,arr1的数据空间和arr2的数据空间是一样的,共享的,如果修改了arr2,arr1也会跟着改变。简单的画一下示意图:

如果让每个数组拥有独立的数据空间,那他们的值互相将不会受到影响。
int [] arr1 = {1,2,3};
int [] arr2 = new arr2[arr1.length];
int [0] = 6;
此时输出arr1还是不变{1,2,3}
而arr2的值为{1,6,3}
此时他们修改数据互不影响。

Java中数组的赋值拷贝相关推荐

  1. Java中数组的赋值方式

    方法一: 使用默认是初始值来初始化数组中的每一个元素 语法:数组元素类型 [ ] 数组名 = new 数组元素类型[数组中元素的个数(数组的长度)] int [ ] number = new int ...

  2. java中数组赋值方法

    Java中数组赋值方法,以及为什么不能使用a = b //这里定义两个长度相同的数组,其中数组二为空 int[] arr1 = new int[]{1,2,3,4,5,6,0,0,0,0}; int[ ...

  3. java中 数组声明,java数组声明格式

    java 声明动态数组,java对象数组详解,java中声明数组,java数组声明格式 Java 中数组的声明一维数组的声明: 在 Java 中,数组是独立的对象,有自身的方法,不是变量的集合. 数组 ...

  4. java中数组的数据结构_Java数据结构与算法(一)--数组

    目录 数组是应用最广泛的数据存储结构.它被植入大部分的编程语音.在Java中数组用来存放一种类型的集合. 1.数组的介绍 ①数组的声明 第一种方式: int[] arr = new int[10];/ ...

  5. Java中数组的地址问题(hashCode解析):

    Java中数组的地址问题(hashCode解析): import java.util.Arrays;public class Action1 {public static void main(Stri ...

  6. 深入浅出理解Java中数组的浅拷贝和深拷贝

    深入浅出带你理解Java中数组的浅拷贝和深拷贝 深浅拷贝的区别 深浅拷贝的区别 所谓浅拷贝,一般指的就是对象引用,例如 Teacher teacher = new Teacher(); teacher ...

  7. Java中数组怎么初始化?数组初始化方法

    关于Java中数组怎么初始化的文章早已是非常多了,本文是对我个人过往学习Java,理解及应用Java数组的一个总结.此文内容涉及Java中数组初始化的三大方法等相关问题,希望对大家有所帮助. Java ...

  8. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&quo ...

  9. Java中数组转集合总结

    一.使用Arrays.asList() 方法 package com.joshua317;import java.util.*;public class Main {public static voi ...

最新文章

  1. 删不干净_华为手机照片删了又删,内存还是严重告急,终于知道是为什么了!...
  2. C++位运算详解(转)
  3. 网络基础知识-TCP/IP协议各层详解
  4. SpringCloud常见组件有哪些?
  5. Office Outlook 2007连接Exchange 2007图示(POP3IMAP)
  6. 云主机上mysql密码重置
  7. ajax servlet增删改查,Servlet ajax 文件上传和JDBC+Servler用户表增删改查
  8. vim 删除一行_Vim 日常命令
  9. 用U盘作为启动盘,安装Yosemite
  10. linux svn 安装信息,linux 下安装 subversion(svn) 客户端
  11. 面向抽象编程(模拟Spring的简单实现)
  12. 加泰罗尼亚理工大学 计算机 排名,西班牙加泰罗尼亚理工大学排名
  13. C++ STL 容器的合并、求差集、交集等操作实例 含详细注释版
  14. 稳扎稳打Silverlight(5) - 2.0控件之ListBox, MediaElement, MultiScaleImage, PasswordBox
  15. Hadoop大数据平台搭建(超详细步骤)
  16. python怎么表达我喜欢你的句子_关于我喜欢你的优美句子
  17. linux 无法生成图片大小,简单点。表演()在Linux上的ImageJ中生成错误
  18. 【亲测有效】解决 Ubuntu 虚拟机无法共享文件夹的问题
  19. [水晶报表]如何设置水晶报表(crystal reports)的字段自动换行
  20. VGG论文原文重点提炼解析

热门文章

  1. 关于JAVA中运算符的一些理解与C语言进行了些对比
  2. 巴比特 | 元宇宙每日必读:“中国需要自己的OpenAI”,王小川官宣新公司百川智能,争取年内发布国内最好的大模型和颠覆性的产品...
  3. pythonmayavi三维建模可视化_Mayavi-更方便的可视化
  4. 分布式事务框架Seata
  5. 【360开源】Pika最佳实践
  6. 日语初级上 | 第一课 李さんは 中国人です
  7. 第六代微型计算机是,第六代酷睿处理器Skylake首发测试
  8. Java 银行卡和身份证号根据校验位验证是否合法
  9. 物流行业为什么要开发APP
  10. Linux进入文件夹,查看文件,返回上级目录,查看列表文件(Ubuntu)