【发布时间】:2016-08-03 22:09:02
【问题描述】:
我已经有一段时间没有接触编程了,现在正试图重新开始。
我遇到了一个执行赋值的演示代码,通过 for 循环从一个数组复制到另一个数组。我可以知道以下作业是否会产生错误?如果可以,是否有比 for 循环更清洁的方法?谢谢!
private byte[] key;
public void setKey (byte[] newKey){
this.key = newKey;
}
【问题讨论】:
-
key将包含对newKey的引用,因此您对key所做的任何更改也会在newKey中更改。 -
我同意@Logan - 此代码使
key成为对作为参数传递给setKey()的相同数组对象的引用。 (它不会复制数组本身。)这是否“会产生错误”取决于对数组的引用是否保留在代码中的其他任何位置,如果是,则如何使用多个引用。 -
会不会报错?可能是?我们需要上下文。这不会复制数组,它只是创建对同一内存空间的另一个引用。
-
我意识到“创建错误”会造成混乱。我应该有状态我想将数组从 newKey 复制到键。 @Abdullah Wasi 在下面回答了我的问题。谢谢大家的评论。
标签: java arrays variable-assignment