相关疑难解决方法(0)

Equated Java Arrays中的奇怪之处:引用与指针

有一个问题,了解下面的代码正在发生什么.阵列的行为c,并d为我所期望的那样.但是,这是怎么回事与ab?(我也尝试使用普通的标量变量,在任何一种情况下都不会发生任何意外.)

输出将复制到RH注释.

import java.util.Arrays;

public class ArraysParadox {

    public static void main(String[] args) {

        int[] c = {1, 2, 3};
        int[] d = {6, 5, 4, 3};

        System.out.print("c:       ");
        System.out.println(Arrays.toString(c)); // c:       [1, 2, 3]

        System.out.print("d:       ");
        System.out.println(Arrays.toString(d)); // d:       [6, 5, 4, 3]

        System.out.println("--- swap ---");
        int[] tmp = c;
        c = d;
        d = tmp;    // <----- Magic?

        System.out.print("c' (=d): ");
        System.out.println(Arrays.toString(c)); // c' (=d): [6, 5, 4, 3]

        System.out.print("d' …
Run Code Online (Sandbox Code Playgroud)

java arrays pointers

4
推荐指数
1
解决办法
3504
查看次数

标签 统计

arrays ×1

java ×1

pointers ×1