侧边栏壁纸
博主头像
Epoch

Java开发、Python爬虫、微服务、分布式、前端

  • 累计撰写 92 篇文章
  • 累计创建 109 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

数组复制

Epoch
2021-09-14 / 0 评论 / 0 点赞 / 287 阅读 / 368 字 / 正在检测是否收录...

数组复制

1、错误示范

package com.xmaven.test;

/**
 * @Author: Ambition
 * @Description TODO
 * @Date: 2021/9/14 5:26 下午
 * @Version 1.0
 */
public class ArrayCopyDemo {
    
    /**
     * 数组复制--反例
     */
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4, 5};
        // 这种只是地址应用指向了同一个地址 实际没有复制作用
        int[] arr2 = arr1;
        arr1[3] = 4444;
        //这种一直都是true 
        System.out.println(arr1 == arr2);
        
    }
    
}

2、一般思维循环复制数组

package com.xmaven.test;

import java.util.Arrays;

/**
 * @Author: Ambition
 * @Description TODO
 * @Date: 2021/9/14 5:26 下午
 * @Version 1.0
 */
public class ArrayCopyDemo1 {
    
    /**
     * 数组复制--使用循环
     */
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4, 5};
        int[] arr2 = new int[arr1.length];
        for (int i = 0; i < arr1.length; i++) {
            arr2[i] = arr1[i];
        }
        System.out.println(arr1 == arr2);
        System.out.println(Arrays.toString(arr2));
        
    }
    
}

3、使用JDK内置的类进行复制

package com.xmaven.test;

import java.util.Arrays;

/**
 * @Author: Ambition
 * @Description TODO
 * @Date: 2021/9/14 5:26 下午
 * @Version 1.0
 */
public class ArrayCopyDemo2 {
    
    /**
     * 数组复制--使用jdk内置的系统类复制数组
     */
    public static void main(String[] args) {
        int[] arr1 = new int[]{1, 2, 3, 4, 5};
        int[] arr2 = new int[arr1.length];
        /**
         * System.arraycopy(sourceArray, srcpos, targetArray, destpos, length);
         * 参数说明
         * sourceArray 原数组
         * srcpos       原数组中的起始位置 开始复制的位置
         * targetArray 目标数组 -- 需要复制到指定的数组中去
         * destpos      目标数组中的起始位置 从什么位置开始放置复制的元素
         * length      原数组长度 复制多少长度
         */
        System.arraycopy(arr1, 0, arr2, 0, arr1.length);
        System.out.println(arr1 == arr2);
        System.out.println(Arrays.toString(arr2));
        
    }
    
}
0

评论区