展开全部
int[] b;
int[] a ={1,2,3,4};
b=a;
答:可以这样对数组进行赋值。
但是这种方式62616964757a686964616fe78988e69d8331333361313863对数组进行赋值, 实际上是一种浅层复制.
也就是说,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 ;