Junior — Middle
Какво отличава обикновена променлива за низ от променлива, обявена като окончателна (final), в контекста на използването на низове в програмен език?
sobes.tech AI
Отговор от AI
В Java ключовата дума final при обявяване на променлива от тип низ означава, че препратката към обекта низ не може да бъде променена след инициализацията. Тоест, ако променливата е обявена като final String s = "hello";, не може да й бъде присвоен друг низ по-късно.
Важно е да се разбере, че низът в Java е сам по себе си неизменяем (immutable), затова съдържанието на обекта низ не може да бъде променено нито за обикновена, нито за финална променлива. Разликата е, че обикновената низова променлива може да се отнася към различни низови обекти във времето, а финалната — винаги към един и същи обект.
Пример:
String a = "hello";
a = "world"; // допустимо
final String b = "hello";
b = "world"; // грешка при компилация