Junior — Middle
Ce diferență există între o variabilă de tip string obișnuită și o variabilă declarată ca final în contextul utilizării stringurilor într-un limbaj de programare?
sobes.tech AI
Răspuns de la AI
În Java, cuvântul cheie final la declararea unei variabile de tip string înseamnă că referința la obiectul string nu poate fi schimbată după inițializare. Adică, dacă o variabilă este declarată ca final String s = "hello";, nu se poate atribui s alt string mai târziu.
Este important să înțelegem că șirul în Java este imutabil, deci conținutul obiectului de tip string nu poate fi modificat nici pentru variabile normale, nici pentru cele finale. Diferența este că o variabilă de tip string normal poate face referire la diferite obiecte string în momente diferite, în timp ce o variabilă final indică întotdeauna același obiect.
Exemplu:
String a = "hello";
a = "world"; // permis
final String b = "hello";
b = "world"; // eroare de compilare