Vitu visivyobadilika vinaweza kuwa muhimu katika programu zenye nyuzi nyingi. Mazungumzo mengi yanaweza kuchukua hatua kwenye data inayowakilishwa na vitu visivyobadilika bila wasiwasi wa data kubadilishwa na nyuzi zingine. Kwa hivyo, vitu visivyoweza kubadilika huchukuliwa kuwa salama zaidi kuliko vitu vinavyoweza kubadilika.
Ni nini uhakika wa vitu visivyobadilika?
Utegemezi wa juu zaidi kwenye vitu visivyoweza kubadilika unakubaliwa na wengi kama mkakati wa sauti wa kuunda msimbo rahisi na unaotegemewa. Vitu visivyoweza kubadilika ni muhimu sana katika matumizi ya wakati mmoja. Kwa kuwa haziwezi kubadilisha hali, haziwezi kuharibiwa na kuingiliwa kwa nyuzi au kuzingatiwa katika hali isiyolingana.
Ni vitu gani vinapaswa kuitwa visivyobadilika?
Vitu visivyobadilika ni vitu ambavyo hali yake (data ya kifaa) haiwezi kubadilika baada ya ujenzi. Mifano ya vitu visivyoweza kubadilika kutoka kwa JDK ni pamoja na String na Integer. Vipengee visivyoweza kubadilika hurahisisha sana programu yako, kwa kuwa: ni rahisi kuunda, kujaribu na kutumia.
Je, unatekelezaje kitu kisichobadilika?
Ili kuunda kitu kisichobadilika unahitaji kufuata sheria rahisi:
- Usiongeze mbinu yoyote ya setter.
- Tangaza uga zote kuwa za mwisho na za faragha.
- Kama sehemu ni kitu kinachoweza kubadilishwa tengeneza nakala zake za ulinzi kwa mbinu za kupata.
- Ikiwa kitu kinachoweza kugeuzwa kimepitishwa kwa mjenzi lazima kigawiwe kwa uga utengeneze nakala yake ya ulinzi.
Tupo wapiunatumia darasa lisilobadilika katika Java?
Madarasa yasiyobadilika hurahisisha upangaji programu kwa wakati mmoja. Madarasa yasiyoweza kubadilika huhakikisha kuwa thamani hazibadilishwa katikati ya operesheni bila kutumia vizuizi vilivyosawazishwa. Kwa kuepuka vizuizi vya ulandanishaji, unaepuka mikwamo.