您好、欢迎来到现金彩票网!
当前位置:ag视讯 > 复制数组 >

java多维数组怎么复制?

发布时间:2019-06-29 16:52 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人软件行家采纳数:5019获赞数:6812毕业于福建农林大学,本科学士学位。从事IT行业3年,曾参与过多个大型项目的需求调研、软件研发。向TA提问展开全部

  Java数组的复制操作可以分为深复制和浅复制。个人简单认为,深复制就是复制后的数组元素发生改变不会影响源数组,浅复制就是对象引用的复制。

  在第一个程序中,用b[0][0] = 4;只改变了数组b[0][0]的值,可是结果却是数组a[0][0]的值也发生了改变。而在第二个程序中,由于是一个一维数组,改变了b[0]的 值,a[0]的值却并没有受到影响,所以问题可能就出在数组的维数上。第一个程序中的a 是一个数组的数组(java 中没有多维数组的概念,只有数组的数组),同理b 也是,那么a 含有两个元素,第一个是指向(1,2,3) 这个数组的引用,第二个是指向(4,5,6)这个数组的引用,而arrayCopy 就是负责把数组的内容copy 过去的,因此 a 的内容 (2 个引用) 被copy 到b 中去了,因此你对b[0][0] 做修改,a 也会同样跟着变化.

  在JAVA里面,可以用复制语句“A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。

  1 使用for循环,将数组的每个元素复制(需要将每个对象调用clone方法,才能实现线 使用clone方法,得到数组的值,而不是引用

  2. 以上所说的拷贝数组的方法,只是针对一维数组,对于多维数组,要在每一维用以上方法进行复制才能实现复制数组元素的值而不是引用。

  * 数组的浅拷贝是指数组拷贝时,只拷贝了数组的地址,新旧数组指向同一数据

  * 对数组来说,不一样的地方在于,当为数组元素赋值时,基本类型值传递,对象类型是引用传递。

http://csyuntao.net/fuzhishuzu/675.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有