copy函数和 arr1=arr2 *****(为什么用copy方法而不是直接赋值)

简介: copy函数和 arr1=arr2 *****(为什么用copy方法而不是直接赋值)
 //TODO  备份数组
    public static int[] copyArray(int[] arr) {
        int[] ans = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            ans[i] = arr[i];
        }
        return ans;
    }

都是备份数据,copyArray 方法和 arr2=arr1有什么区别吗image.pngarr2=arr1只是让arr2指向和arr1相同的地址,而不是把arr1的数组赋给arr2,但是copyArray 方法不同,copy方法是重新在内存上新建一个数组,长度和第一个数组一致,将第一个数组的每一个数一个个赋值给新建的数组(相同的位置)

引用之前相等(arr2=arr1),地址共享
目录
相关文章
|
6月前
|
Python
module 'numpy' has no attribute 'int'.
module 'numpy' has no attribute 'int'.
199 0
|
7月前
|
数据处理 Python
【Python】已解决:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFram
【Python】已解决:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFram
1019 1
|
Python
python之列表中常用的函数:append,extend,insert,pop,remove,del函数的定义与使用方法,元素是否在列表中的判断
python之列表中常用的函数:append,extend,insert,pop,remove,del函数的定义与使用方法,元素是否在列表中的判断
168 0
|
9月前
|
Python
AttributeError: module ‘numpy‘ has no attribute ‘int‘.
AttributeError: module ‘numpy‘ has no attribute ‘int‘.
263 0
|
算法
三元运算符 return mData == null ? 0 : mData.size();的含义
三元运算符 return mData == null ? 0 : mData.size();的含义
79 0
|
9月前
|
算法 C++ 容器
【C++11算法】find_if_not、 copy_if、copy_n
【C++11算法】find_if_not、 copy_if、copy_n
174 0
|
程序员 Go
Go slice切片详解和实战:make append copy
这篇文章介绍切片的生成make()、切片的追加append()、切片的复制copy()。对知识点进行详细介绍和应用实战。
141 0
Go slice切片详解和实战:make append copy
|
C++
Effective C++学习笔记之copy构造函数和default函数和copy赋值函数(operator=)
Effective C++学习笔记之copy构造函数和default函数和copy赋值函数(operator=)
158 0