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