「java数组给数组」JAVA的数组
今天给各位分享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数组给数组的信息别忘了在本站进行查找喔。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。