Eclipseに問題があります。 LogCatの値をoldList
と異なるのはなぜですか?私はそれをtowコマンドの間で変更しないのですか?Javaの変数が正しくありません
まず私がinitialize
方法があります。
private void initialize() {
list[0][0] = 2;
list[0][1] = 4;
list[1][0] = 3;
list[1][1] = 7;
oldList = list;
going();
}
をしてgoing
方法で、私は二回oldList
を印刷:
private void going() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
Log.i("Log", "oldList = " + oldList[i][j]);
}
}
Log.i("Log", "---------------------------");
// ----------------------------------------------------
list[0][0] = 0;
list[0][1] = 5;
list[1][0] = 0;
list[1][1] = 0;
// ----------------------------------------------------
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
Log.i("Log", "oldList = " + oldList[i][j]);
}
}
}
が、2つの結果がLogCatに異なります。
oldList = 2
oldList = 4
oldList = 3
oldList = 7
---------------------------
oldList = 0
oldList = 5
oldList = 0
oldList = 0
私はそれを2つのログ。私はちょうどlist
の値を変更します。oldList
ではなく変更します。なぜ出力が変わるのですか?
[?されているJava「により、参照渡し」または「値渡し」](http://stackoverflow.com/questions/40480/is-参照渡しによるjava-pass-by-value)関連 – zapl