0

我在弄清楚如何在茉莉花中分配给彼此相等的数组时遇到了一些问题。我希望编译如下代码

array a[1];
array b[1];

a = b;

现在我想要一个 b 的实际副本,而不是将它们分配给同一事物。假设a在寄存器中0,b在寄存器中1

那么以下是我认为可行的方法

aload   1
astore  0

但事实上现在如果我改变 b 那么 a 也会改变。我将如何在茉莉花中做到这一点,以便数组是不同的,例如

array a[1];
array b[1];
a[1] = 'a';
b[1] = 'b';
a = b;
b[1] = 'a';
print a; //should print 'b' but prints 'a' currently
print b; //should print 'a' and does currently

请注意,我编写的代码是正确的 java,但是,这是针对不同语言的。

4

1 回答 1

1

这根本与 Jasmin 或字节码无关。

如果要复制数组的内容,请Object.clone使用invokevirtual指令或Arrays.copyOf/调用System.arraycopyinvokestatic

于 2018-12-01T16:40:40.533 回答