「java数组给数组」JAVA的数组

博主:adminadmin 2022-12-12 05:27:07 77

今天给各位分享java数组给数组的知识,其中也会对JAVA的数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA里怎么把这个数组赋值给另一个数组

有两种方法

第一种用for循环:

int[] x={1,2};

int[] y=new int[2];

for(int i=0;ix.length;i++){

y[i]=x[i];

第二种用java提供的arraycopy

int[] x={1,2};

int[] y=new int[2];

System.arraycopy(x, 0, y, 0, x.length);//变量依次是(原数组,从原数组第几位开始,目标数组,从第几位开始粘贴,复制长度)

java中 数组能否赋值给数组?

可以

只要数组应用是和数组内的对象类型相同或者是其父类就可以

JAVA 给数组赋值

int[] b;

int[] a ={1,2,3,4};

b=a;

答:可以这样对数组进行赋值。

      但是这种方式对数组进行赋值,  实际上是一种浅层复制.

 也就是说,b实际上就是a,它们的内存地址值都是一样的, 当a发生改变,那么b也会跟着改变 。

为了真正意义上实现赋值,那么我们应该对数组进行深层复制。

深层复制后,无论a怎么改变,都不会影响到b。

具体代码如下

package core.com;

import java.util.Arrays;

public class DemoCopy {

 public static void main(String[] args) {

  //---------浅层复制--------

  int[] a;

  int[] b = {1,2,3,4};

  a=b;//浅层复制. 当b改变的时候,a会跟着改变

  System.out.println(Arrays.toString(a));//输出数组a,[1,2,3,4]

  b[0] = 5;//改变数组b , 数组a也会跟着改变

  System.out.println(Arrays.toString(a));//输出数组a,[5,2,3,4]

  System.out.println(a==b);//输出true  a就是b

  //-----------分割线--------

  //深层复制方法一:

  String[] c ;

  String[] d = {"a","b","c"};

  c = new String[d.length]; // 需要初始化数组长度

  for (int i = 0; i  d.length; i++) {//循环复制,

   c[i] = d[i];

  }

  d[0]="y";//改变数组d, 不会影响c

  System.out.println(Arrays.toString(c));//

  System.out.println(c==d);

  

  //-------------分割线---------

  //深层复制方法二:

  int[] ary1;

  int[] ary2 = {8,8,8};

  ary1 = new int[ary2.length];

  System.arraycopy(ary2, 0, ary1, 0, ary2.length);//调用函数进行深层复制

  ary2[0]=6;//改变数组ary2,并不会影响ary1

  System.out.println(Arrays.toString(ary1));

  System.out.println(ary1==ary2);

 }

}

控制台输出

[1, 2, 3, 4]

[5, 2, 3, 4]

true

[a, b, c]

false

[8, 8, 8]

false

Java给数组中的数组赋值

package com.oceanlive.demo;

public class Test{

    public static void main(String[] args) {

        Object[] monitorsys = new Object[4];// 定义最大的数组容器

        Object[] situation = new Object[2];// 定义第一个元素

        Object[] sms = new Object[2];// 定义第二个元素

        Object[] rule = new Object[2];// 定义第三个元素

        Object[] alertsdb = new Object[2];// 定义第四个元素

        situation[0] = 1;

        monitorsys[0] = situation;// 赋值操作

        monitorsys[1] = sms;

        monitorsys[2] = rule;

        monitorsys[3] = alertsdb;

        // 打印的就是第一个元素的数组的地址值(需要强制转换成Object对象数组,才能从输出)

        System.out.println(((Object[]) monitorsys[0])[0]);

    }

}

java数组给数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA的数组、java数组给数组的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。