Sobes.tech
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