Tofauti Muhimu – Daraja la Kufunika Vyeo dhidi ya Aina ya Kawaida katika Java
Java ni lugha maarufu ya upangaji ambayo hutumiwa kutengeneza programu mbalimbali. Faida moja ya Java ni kwamba inasaidia Object Oriented Programming (OOP). Kwa kutumia OOP, programu au programu inaweza kuigwa kwa kutumia vitu. Darasa hutumiwa kama mchoro kuunda kitu. Katika programu, ni muhimu kuhifadhi data. Maeneo ya kumbukumbu yaliyohifadhiwa ili kuhifadhi data yanajulikana kama vigeu. Kila kigezo kina aina maalum ya data. Kuna aina nane za awali zinazotolewa na lugha ya Java. Wao ni mfupi, byte, int, kuelea, mara mbili, char, boolean. Wakati mwingine, inahitajika kubadilisha aina ya primitive kuwa kitu na kitu kurudi kwa aina ya zamani. Madarasa ya kanga hutumiwa kwa ubadilishaji huu. Nakala hii inajadili tofauti kati ya darasa la wrapper na aina ya primitive katika Java. Tofauti kuu kati ya aina ya karatasi na aina ya primitive katika Java ni kwamba darasa la wrapper hutumiwa kubadilisha aina ya awali kuwa kitu na kitu kurudi kwa aina ya awali wakati aina ya awali ni aina ya data iliyoainishwa awali inayotolewa na lugha ya programu ya Java.
Aina ya Wrapper katika Java ni nini?
Daraja la Wrapper katika Java hutumiwa kubadilisha aina ya data ya awali kuwa kitu na kipengee hadi aina ya awali. Hata aina za data za awali hutumika kuhifadhi aina za msingi za data, miundo ya data kama vile Orodha za Array na vitu vya kuhifadhi vya Vekta. Kwa hivyo, inahitajika kutumia madarasa ya wrapper kwa uongofu. Madarasa ya kanga yanayolingana ya aina za awali char, byte, fupi na int ni Herufi, Byte, Short, na Integer. Madarasa yanayolingana ya karatasi kwa muda mrefu, kuelea, mbili na boolean ni Ndefu, Float, Double na Boolean.
Kielelezo 01: Programu ya Java ambayo inabadilisha Madarasa ya Wrapper kuwa Aina za Awali
Kulingana na mpango ulio hapo juu, intobj ni kitu cha darasa kamili cha kanga. Floatobj ni kitu cha darasa cha kuelea. Doubleobj ni kitu cha darasa la kanga mara mbili. Kipengee cha Nambari kinabadilishwa kuwa int ya awali kwa kutumia intValue (). Vile vile, kitu cha Kuelea kinabadilishwa kuwa kuelea kwa kutumia floatValue(). Kitu Maradufu kinabadilishwa kuwa primitive double kwa kutumia doubleValue (). Ikiwa mtengenezaji ataandika taarifa kama int i=intobj; mkusanyaji ndani anaandika intobj. Value(). Mchakato wa kubadilisha kiotomatiki kitu cha darasa la kanga hadi aina yake ya primitive inajulikana kama unboxing. Mikusanyiko kama vile ArrayLists hutumia darasa la Wrapper kwa sababu huhifadhi vitu.
Je, Aina ya Primitive katika Java ni nini?
Aina za data za awali ni aina za data zilizobainishwa awali zinazotolewa na lugha ya programu ya Java. Kuna aina nane za zamani. Wao ni baiti, fupi, int, ndefu, kuelea, mbili, boolean na char. Aina ya data ya baiti hutumika kuhifadhi nambari kamili inayosaidia ya 8-bit iliyotiwa saini. Aina fupi ya data hutumika kuhifadhi nambari kamili ya nyongeza ya 16-bit iliyotiwa saini. Aina ya data ya int hutumika kuhifadhi nambari kamili inayokamilishana ya 32-bit iliyotiwa saini huku aina ndefu ya data inatumika kuhifadhi nambari kamili inayokamilisha ya 64-bit singed two. Kuelea hutumika kuhifadhi thamani moja ya uhakika ya 32-bit inayoelea na mbili hutumika kuhifadhi thamani ya uhakika wa 64-bit inayoelea. Boolean hutumiwa kuwakilisha ukweli au uwongo. Char hutumika kuhifadhi herufi moja. Hizo ndizo aina nane za awali katika Java.
Kielelezo 02: Programu ya Java ambayo inabadilisha Aina za Awali hadi Madarasa ya Kukunja
Kulingana na programu iliyo hapo juu, num1 ni aina ya int. Inabadilishwa kuwa Nambari kamili kwa kupitisha num1 hadi Integer.valueOf(). Float1 inaweza kuhifadhi thamani za kuelea. Inabadilishwa kuwa aina ya Kuelea kwa kupitisha float1 kwenye Float.valueOf(). Vile vile, double1 inaweza kuhifadhi thamani mbili. Inabadilishwa kuwa Double type kwa kupitisha double1 hadi Double.valueOf(). Ikiwa programu itaandika taarifa kama Interger intobj=num1; mkusanyaji ndani anaandika Integer.valueOf(num1); Mchakato wa kubadilisha aina ya primitive hadi kipengee sambamba cha darasa la kanga kiotomatiki hujulikana kama autoboxing.
Je, Kuna Ufanano Gani Kati ya Aina ya Wrapper na Aina ya Kawaida katika Java?
Daraja la Wrapper na Aina ya Kawaida katika Java inaweza kutumika kuhifadhi data katika upangaji
Kuna tofauti gani kati ya Aina ya Wrapper na Aina ya Kawaida katika Java?
Aina ya Wrapper dhidi ya Aina ya Primitive katika Java |
|
Darasa la kuandikia hutoa mbinu ya kubadilisha aina ya awali kuwa kitu na kipengee hadi aina ya primitive. | Aina ya awali ni aina ya data iliyofafanuliwa awali iliyotolewa na Java. |
Darasa Husika | |
Daraja la Wrapper hutumika kuunda kitu; kwa hivyo, ina darasa linalolingana. | Aina ya primitive si kitu kwa hivyo si ya darasa. |
Thamani Batili | |
Vipengee vya darasa la kanga huruhusu thamani batili. | Aina ya data ya awali hairuhusu thamani batili. |
Kumbukumbu Inahitajika | |
Kumbukumbu inayohitajika ni kubwa kuliko aina za awali. Fahirisi Iliyounganishwa haihitaji nafasi ya ziada. | Kumbukumbu inayohitajika iko chini ikilinganishwa na madarasa ya karatasi. |
Mikusanyiko | |
Darasa la Wrapper linaweza kutumika pamoja na mkusanyiko kama vile ArrayList, n.k. | Aina ya awali haitumiwi na mikusanyiko. |
Muhtasari – Daraja la Kuandika Vyeo dhidi ya Aina ya Kawaida katika Java
Lugha ya Java hutoa aina nane za data za awali. Wakati mwingine inahitajika kubadilisha aina za primitive kupinga na pia kubadilisha vitu kuwa vya kwanza. Madarasa ya Wrapper yanaweza kutumika kufanikisha kazi hiyo. Tofauti kati ya darasa la kufunika na aina ya primitive katika Java ni kwamba darasa la wrapper hutumiwa kubadilisha aina ya awali kuwa kitu na kitu kurudi kwa aina ya awali wakati aina ya awali ni aina ya data iliyoainishwa awali iliyotolewa na lugha ya programu ya Java.