zoukankan      html  css  js  c++  java
  • 数组复制的误区

    复制一个数组元素

    int[]arr1,arr2;

    arr1=new int[]{3,5,7,9,11,13,15,17,19};

    arr2=arr1;//这样并不是复制数组

    下面是这三部操作在内存中的执行过程:

     1 package com.baidu.java;
     2 //关于数组复制的误区
     3 public class Array3 {
     4     public static void main(String[] args) {
     5         int[]arr1,arr2;//声明两个数组
     6         arr1=new int[]{3,5,7,9,11,13,15,17,19};
     7         System.out.println("打印出arr1数组的元素");
     8         for(int i=0;i<arr1.length;i++){
     9             System.out.print(arr1[i]+"	");
    10         }
    11         System.out.println();
    12         System.out.println("打印出arr1的首地址"+arr1);//[I@659e0bfd
    13         arr2=arr1;//并不是复制数组
    14         /*异常在此处,此处赋值给arr2的是arr1的首地址,并没有重新复制出一
    15         个数组,之后再进行操作arr2,也只是对arr1进行操作,因为共用了一个首地址
    16         相当于共用一个数组
    17         */
    18         System.out.println("打印出arr2的首地址"+arr2);//[I@659e0bfd
    19         //对arr2数组元素进行修改
    20         for(int i=0;i<arr2.length;i++){
    21             if(i%2==0){
    22                 arr2[i]=i;
    23             }
    24         }
    25         System.out.println("再次打印出arr1数组的元素");
    26         for(int i=0;i<arr1.length;i++){
    27             System.out.print(arr1[i]+"	");
    28         }
    29     }
    30 }

    运行结果:

  • 相关阅读:
    构造TreeView
    vs2017和Xamarin
    最可能的原因使用的托管的处理程序,但是未安装或未完整安装asp.net
    网站搭建(二)
    网站搭建(一)
    .asp 和 .aspx
    第一天
    IMU的预计分算法
    VINS-MONO初始化
    VINS-MONO ProjectionFactor代码分析及公式推导
  • 原文地址:https://www.cnblogs.com/yunqing/p/4751126.html
Copyright © 2011-2022 走看看