Sobes.tech
Junior — Middle

Cosa distingue una variabile string normale da una variabile dichiarata come finale nel contesto dell'uso delle stringhe in un linguaggio di programmazione?

sobes.tech AI

Risposta dell'AI

In Java, la parola chiave final durante la dichiarazione di una variabile di stringa significa che il riferimento all'oggetto stringa non può essere modificato dopo l'inizializzazione. Cioè, se una variabile è dichiarata come final String s = "hello";, non è possibile assegnare un'altra stringa a s in seguito.

È importante capire che la stringa in Java è immutabile, quindi il contenuto dell'oggetto stringa non può essere modificato né per variabili normali né per variabili finali. La differenza è che una variabile stringa normale può riferirsi a diversi oggetti stringa in momenti diversi, mentre una final punta sempre allo stesso oggetto.

Esempio:

String a = "hello";
a = "world"; // consentito

final String b = "hello";
b = "world"; // errore di compilazione