java - Changing a variable affects an indirect variable (value vs reference) -


निम्न कोड को देखते हुए:

  रीसेट पॉज़ = नया रीक्ट (); के लिए (इंट i = 0; i & lt; mCols; i ++) {pos = mTiles [1] [i] .getmPos (); Pos.top = pos.top - आकार; Pos.bottom = pos.bottom - आकार; mTiles [0] [मैं] .setmPos (पीओएस); }  

मैं क्या करना चाहता / चाहती हूं

  mTiles [1] [i] .mPos  
< P> इसे संशोधित करें, और इसे

  mTiles [0] [i] .mPos  

में सेट करें यह कथन है

  pos = mTiles [1] [i] .getmPos ();  

ऑब्जेक्ट के संदर्भ को प्रतिलिपि बना रहा है और ऑब्जेक्ट का मान नहीं है। अर्थ, जब मैं pos.top या pos.bottom को संशोधित करता हूं, मूल ऑब्जेक्ट को संशोधित किया जाता है।

मुझे अनुमान लगा रहा है कि मैं संदर्भ बनाम मूल्य से पास ऑब्जेक्ट की अवधारणा को याद कर रहा हूँ ... जो मैंने सोचा था कि मैं समझ लिया। यहाँ क्या तय है?

धन्यवाद

कैसे के बारे में

  रीक्ट पॉज़ = नया रीक्ट (); के लिए (इंट आई = 0; आई & lt; mCols; i ++) {pos = नया रीक्ट (एमटीइल [1] [i] .getmPos ()); Pos.top = pos.top - आकार; Pos.bottom = pos.bottom - आकार; mTiles [0] [मैं] .setmPos (पीओएस); }  

?


Comments