为什么数组的内容不变?

时间:2019-09-09 08:50:07

标签: java arrays

public void merge(int[] nums1, int m, int[] nums2, int n) {
        if (n == 0) {
            nums1 = Arrays.copyOf(nums1, m);
            System.out.println(Arrays.toString(nums1));
            return;
        }

        if (m == 0) {
            for (int i = 0; i < n; i++)
                nums1[i] = nums2[i];
            nums1 = Arrays.copyOf(nums2, n);
            return;
        }
}

使用以下方法测试方法时会发生问题:

public static void main(String[] args) {
        int[] nums1 = { 1, 2, 3, 0, 0, 0 };
        int[] nums2 = {};
        new Merge().merge(nums1, 3, nums2, 0);
        System.out.println(Arrays.toString(nums1));
    }

但是main方法中的输出是[1, 2, 3, 0, 0, 0],而merge方法中的输出是[1, 2, 3],但是我不知道为什么!为什么nums1不变?

0 个答案:

没有答案