私はアンドロイドのクラスを読んでいてSparseArray
、次のメソッドに出くわしました:
public void removeAt(int index) {
if (mValues[index] != DELETED) {
mValues[index] = DELETED;
mGarbage = true;
}
}
明らかに、これも書かれている可能性があります。
public void removeAt(int index) { Or public void removeAt(int index) {
if (mValues[index] != DELETED) { mValues[index] = DELETED;
mValues[index] = DELETED; mGarbage = true;
if (!mGarbage) }
mGarbage = true;
}
}
Androidの開発者は、配列のルックアップmValues[index]
は配列の書き込みよりも高速であると信じていたようですが、変数のルックアップは変数の書き込みよりも高速ではありませんでした。
これは本当に本当ですか?それはVMに依存しますか、それともコンパイル言語の一般的な知識ですか?