Java で java オブジェクトの引数を method に渡すとき、myMethod((MyObject) myObject)
基本的には C++ で のように object への参照を渡すようなものmyFunction(& myObject)
です。そのような場合、Java 開発者は C++ プログラマーとほぼ同じ自由度を持っています。参照を渡したい場合はオブジェクトを渡すだけで、コピーしたい場合はメソッドで手動で行います。
しかし、ここに私の質問があります:
特定のタイプのオブジェクトを持つ3つの異なる配列があるとしましょうMyObject
MyObject[] myObjectsOne
MyObject[] myObjectsTwo
MyObject[] myObjectsThree
私はそれらを別々に持つ必要がありますが、上記の 3 つの要約のような代替配列も 1 つ必要です。たとえば、3 つすべてのコンテンツを表示するために単一のオブジェクトとして使用されます。
シナリオ: 値を実際にどこにもコピーせずに、最初の 3 つの値を表す 4 番目の配列を作成します。(これらの値に余分なメモリを割り当てません)
C++ では、これら 3 つのテーブル内の対応するオブジェクトへの参照を含むテーブルを作成するだけです。
Java では、私たちのために作られているだけだといつも思っていましたが、考え始めたときはよくわかりませんでした。
また、次のようになりました。MyObject[] myObjectsFour
そして出演後..
myObjectsFour[0] = myObjectsOne[0];
..メモリレベルで同じオブジェクトに実際にアクセスすることを意味します
かmyObjectsFour[0]
? 私が理解しているように、そうでなければ、そうでなければなりませんmyObjectsOne[0]
myObjectsFour[0] = myObjectsOne[0].clone();