在Java中如何把一个数组的所有元素放到另一个空数组中

数组a{1,2,3}
数组b{}
在Java中如何把数组a里所以的元素放到空数组b中

int[] a = {1, 2, 3,4};
int[] b = {};
b = Arrays.copyOf(a, a.length);

直接copy
Arrays.copyOf(dataType[] xxx,int length);
xxx表示要进行复制的数组,length 表示复制后的新数组的长度


public class Test01 {
    //直接等于就好了
    public static void main(String[]args) {
        int []arr= {1,2,3,4,5};  //原数组
        int []arr1 =arr;        //要复制的数组
        System.out.println(Arrays.toString(arr1));
    }
}

使用Arrays.copyOf(原始数组, 要复制的长度)进行复制。

public static void main(String[] args) {
    int[] a = {1, 2, 3};
    int[] b = {};
    b = Arrays.copyOf(a, a.length);
    a[2] = 10;
    System.out.println(Arrays.toString(a));
    System.out.println(Arrays.toString(b));
}

这样a和b就没什么联系了,修改a的值不会影响b
如果使用b=a;其实就是把a的地址给了b,也就是a和b指向相同的地址,修改a,b也会跟着修改,修改b,a也会跟着修改。
根据需求选择使用方案。

使用System.arraycopy方法,将a从索引位置0 copy 到b也是从索引位置为0开始接收,长度为a的数组长度


   int[] a = new int[]{1, 2, 3};
        int[] b=new int[a.length];
        System.arraycopy(a,0,b,0,a.length);

public static void main(String[] args) {
        int[] a = { 1, 2, 3 };
        int[] b = new int[a.length];
        for (int i = 0; i < a.length; i++) {
            b[i] = a[i];
        }
        System.out.println(Arrays.toString(a));
    }