Sobes.tech
Junior — Middle

Čo odlišuje bežnú premennú reťazca od premennej deklarovanej ako konečná v kontexte používania reťazcov v programovacom jazyku?

sobes.tech AI

Odpoveď od AI

V Jave, kľúčové slovo final pri deklarácii reťazcovej premennej znamená, že odkaz na objekt reťazca nemôže byť po inicializácii zmenený. To znamená, že ak je premennej deklarovanej ako final String s = "hello";, nemôže jej byť neskôr priradený iný reťazec.

Je dôležité pochopiť, že reťazec v Jave je sám o sebe nemenný (immutable), takže obsah reťazca nemôže byť zmenený ani pre bežné, ani pre final premenne. Rozdiel je v tom, že bežná reťazcová premená môže odkazovať na rôzne objekty reťazca v rôznych časoch, zatiaľ čo final vždy odkazuje na ten istý objekt.

Príklad:

String a = "hello";
a = "world"; // povolené

final String b = "hello";
b = "world"; // chyba pri kompilácii