/ Mutabilita polí v jave - java, nemennosť,

Mutabilita polia v java - java, nemennosti, mutabilita

Ak metóda vráti objekt z indexu konkrétneho poľa a potom sa tento objekt zmení, upraví sa tento objekt iba lokálne alebo sa zmení aj objekt v poli?

Existuje spôsob, ako vynútiť každý prípad?

odpovede:

4 pre odpoveď č. 1

Objekt v poli by sa tiež upravil. Funguje to týmto spôsobom, pretože aj keď Java prechádza hodnotou, prechádza hodnotou objektu referencie, Takže na konci má pole kópiureferencia a čokoľvek získa výsledok, má kópiu referencie. Keď upravíte samotný objekt, „upravujete vec, na ktorú obaja„ odkazujú “. Obidve vidia zmenu.

Jediným spôsobom, ako to urobiť nie je pravda, je vytvoriť kópiu prvku pred jeho vrátením.

Prípadne, ak urobíte svoj objekt nemenným, nemusíte sa obávať týchto detailov, pretože vy môžu "t najprv zmeňte objekt.


1 pre odpoveď č. 2

Budete musieť urobiť obranná kópia objektu, ak chcete, aby sa nezmenil