小编sat*_*ate的帖子

这个变量如何变化?

以下代码生成此输出:

aaab - > aabb - > abbb - > bbbb

我的目标是让它看起来像这样:

aaab - > aaba - > abaa - > baaa

但我很难搞清楚为什么我会得到这个结果.

    String abcd = 'abcd';
    int l=3;
    byte[] word=new byte[]{abcd[0],abcd[0],abcd[0],abcd[0]};
    System.out.println(new String(word)); // print: aaaa
    while (l >= 0) {
        byte[] present=word; // !!!
        present[l + 1 - (l - (--l))] = abcd[1];
        System.out.println(new String(present)); // print: aaab -> aabb -> abbb -> bbbb
    }
    System.out.println(new String(word)); // print: bbbb
Run Code Online (Sandbox Code Playgroud)

如果我改变这一行(5): byte[] present=word;

byte[] present=new byte[]{abcd[0],abcd[0],abcd[0],abcd[0]};

然后我得到了所需的输出.为什么会这样?

java arrays variables

2
推荐指数
1
解决办法
167
查看次数

标签 统计

arrays ×1

java ×1

variables ×1