Java String immutable kérdés?
Azert, mert olyankor letrehoz egy teljesen uj Stringet.
(Sok "hozzaadasnal", modositasnal ezert hasznalunk StringBuildert, mert az nem hoz letre es torol ilyenkor 100 objektumot.)
De ennyi erővel karakter cserénél is létrehozhatna.
pl replace metódus cserél bizonyos karaktert másra(mármint új stringet csinál)
viszont olyan nincs hogy replace bizonyos indexűt másra és erre írják mindenhol, hogy azért mert immutable. De ez az érv állhatna minden stringet módosító műveletre ennyi erővel. Itt miért nem oldották meg úgy ,hogy új stringet hozzon létre a cserével?
Azert, mert ezzel pont a StringBuilder funkciojat tudnad lecserelni. Es mivel minden String String.replace(int, char); fuggveny rengeteg memoriamuvelettel jarna, nem is eroltettek ennek a megalkotasat.
Hasznalj mindent arra, amire valo. Ettol lesz magas szintu egy nyelv, hogy keszen kapod a celszerszamot ilyen muveletekhez.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!