Junior — Middle
Mi különbözteti meg egy normál sztring változót egy véglegesnek (final) deklarált változótól a sztringek használata során egy programozási nyelvben?
sobes.tech MI
Válasz az MI-től
Java-ban a final kulcsszó azt jelenti, hogy a sztring változó deklarálásakor a sztring objektumra mutató hivatkozás nem módosítható a inicializálás után. Tehát, ha egy változót final String s = "hello";-ként deklarálunk, akkor később nem rendelhetünk hozzá másik sztringet.
Fontos megérteni, hogy a Java-ban a sztring maga immutable, azaz nem módosítható, így a sztring objektum tartalma semmilyen módon nem változtatható meg sem normál, sem final változók esetén. A különbség az, hogy egy normál sztring változó különböző sztring objektumokra hivatkozhat különböző időpontokban, míg a final mindig ugyanarra az objektumra mutat.
Példa:
String a = "hello";
a = "world"; // megengedett
final String b = "hello";
b = "world"; // fordítási hiba