Sobes.tech
Junior — Middle

Proqramlaşdırma dilində sətirlərdən istifadə kontekstində, adi sətir dəyişəni ilə final kimi elan edilmiş dəyişən arasında nə fərq var?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, sətir dəyişənini elan edərkən final açar sözü, sətir obyektinə olan istinadın təyin edilməsindən sonra dəyişdirilə bilməyəcəyini göstərir. Yəni, əgər dəyişən final String s = "hello"; kimi elan olunubsa, sonra ona başqa sətir təyin etmək mümkün deyil.

Java-da sətir özü dəyişməz (immutable) olduğundan, sətir obyektinin məzmunu həm adi, həm də final dəyişənlər üçün dəyişdirilə bilməz. Fərq odur ki, adi sətir dəyişəni müxtəlif vaxtlarda müxtəlif sətir obyektlərinə istinad edə bilər, final isə həmişə eyni obyektə işarə edir.

Misal:

String a = "hello";
a = "world"; // icazə verilir

final String b = "hello";
b = "world"; // tərtib xətası