Հիմնական տարբերություն – Wrapper Class ընդդեմ պարզունակ տեսակի Java-ում
Java-ն հայտնի ծրագրավորման լեզու է, որն օգտագործվում է տարբեր հավելվածներ մշակելու համար: Java-ի առավելություններից մեկն այն է, որ այն աջակցում է Object Oriented Programming (OOP): Օգտագործելով OOP-ը, ծրագիրը կամ ծրագրաշարը կարելի է մոդելավորել՝ օգտագործելով օբյեկտներ: Կլասը օգտագործվում է որպես նախագիծ՝ օբյեկտ ստեղծելու համար: Ծրագրավորման ժամանակ անհրաժեշտ է պահպանել տվյալներ։ Տվյալների պահպանման համար նախատեսված հիշողության վայրերը հայտնի են որպես փոփոխականներ: Յուրաքանչյուր փոփոխական ունի տվյալների որոշակի տեսակ: Կան ութ պարզունակ տեսակներ, որոնք նախատեսված են Java լեզվով: Դրանք կարճ են, բայթ, int, float, double, char, boolean:Երբեմն պահանջվում է պարզունակ տիպը վերածել օբյեկտի, իսկ օբյեկտը նորից պարզունակ տիպի: Այս փոխակերպման համար օգտագործվում են փաթաթման դասերը: Այս հոդվածը քննարկում է Java-ում wrapper դասի և պարզունակ տիպի տարբերությունը: Java-ում wrapper դասի և պարզունակ տիպի հիմնական տարբերությունն այն է, որ wrapper դասը օգտագործվում է պարզունակ տիպը օբյեկտի և օբյեկտը նորից պարզունակ տիպի փոխարկելու համար, մինչդեռ պարզունակ տեսակը նախապես սահմանված տվյալների տեսակ է, որը տրամադրվում է Java ծրագրավորման լեզվով:
Ի՞նչ է Wrapper Class-ը Java-ում:
Java-ում Wrapper դասը օգտագործվում է պարզունակ տվյալների տեսակը օբյեկտի, իսկ օբյեկտը պարզունակ տիպի փոխարկելու համար: Նույնիսկ պարզունակ տվյալների տեսակներն օգտագործվում են տվյալների հիմնական տեսակները պահելու համար, տվյալների կառուցվածքները, ինչպիսիք են Array Lists-ը և Vectors-ը, պահում են օբյեկտները: Հետևաբար, փոխակերպման համար պահանջվում է օգտագործել փաթաթման դասեր: Համապատասխան փաթաթման դասերը char, byte, short և int տիպերի համար են Character, Byte, Short և Integer:Երկար, float, կրկնակի և բուլյանի համապատասխան փաթաթման դասերն են Long, Float, Double և Boolean:
Նկար 01. Java ծրագիր, որը փոխակերպում է Wrapper դասերը պարզունակ տեսակների
Ըստ վերը նշված ծրագրի՝ intobj-ը Integer wrapper դասի օբյեկտ է։ Floatobj-ը Float wrapper դասի օբյեկտ է: Doubleobj-ը Double wrapper դասի օբյեկտ է: Integer օբյեկտը վերածվում է պարզունակ int-ի՝ օգտագործելով intValue (): Նմանապես, Float օբյեկտը վերածվում է պարզունակ float-ի՝ օգտագործելով floatValue(): Double օբյեկտը վերածվում է պարզունակ կրկնակի՝ օգտագործելով doubleValue (): Եթե ծրագրավորողը հայտարարությունը գրում է որպես int i=intobj; կոմպիլյատորը ներսից գրում է intobj. Value(): Wrapper դասի օբյեկտն իր համապատասխան պարզունակ տիպին ավտոմատ կերպով փոխակերպելու գործընթացը հայտնի է որպես unboxing:Հավաքածուները, ինչպիսիք են ArrayLists-ը, օգտագործում են Wrapper դասը, քանի որ դրանք պահում են օբյեկտներ:
Ի՞նչ է պրիմիտիվ տեսակը Java-ում:
Տվյալների պարզունակ տեսակները նախապես սահմանված տվյալների տեսակներն են, որոնք տրամադրվում են Java ծրագրավորման լեզվով: Կան ութ պարզունակ տեսակներ. Դրանք բայթ են, կարճ, int, long, float, double, boolean և char: Բայթ տվյալների տեսակը օգտագործվում է 8-բիթանոց ստորագրված երկու լրացնող ամբողջ թիվը պահելու համար: Կարճ տվյալների տեսակը օգտագործվում է 16-բիթանոց ստորագրված երկու լրացնող ամբողջ թիվը պահելու համար: Int տվյալների տեսակը օգտագործվում է 32-բիթանոց ստորագրված երկու լրացնող ամբողջ թիվը պահելու համար, մինչդեռ երկար տվյալների տեսակը օգտագործվում է 64-բիթանոց երկուսի լրացման ամբողջ թիվը պահելու համար: Բոցը օգտագործվում է մեկ ճշգրիտ 32-բիթանոց լողացող կետի արժեքը պահելու համար, իսկ կրկնակիը՝ կրկնակի ճշգրտության 64-բիթանոց լողացող կետի արժեքը պահելու համար: Բուլը օգտագործվում է ճիշտ կամ կեղծ ներկայացնելու համար: Նիշն օգտագործվում է մեկ նիշ պահելու համար: Սրանք Java-ի ութ պարզունակ տեսակներն են:
Նկար 02. Java ծրագիր, որը փոխակերպում է պարզունակ տեսակները Wrapper դասերի
Ըստ վերը նշված ծրագրի՝ num1-ը int տեսակ է։ Այն վերածվում է Integer-ի՝ num1-ին փոխանցելով Integer.valueOf(): Float1-ը կարող է պահել float արժեքները: Այն փոխարկվում է Float տիպի՝ float1 փոխանցելով Float.valueOf(): Նմանապես, double1-ը կարող է կրկնակի արժեքներ պահել: Այն վերածվում է Double տեսակի՝ double1-ը Double.valueOf(-ի) փոխանցելով։ Եթե ծրագրավորողը հայտարարությունը գրում է որպես Interger intobj=num1; կոմպիլյատորը ներսից գրում է Integer.valueOf(num1); Պարզունակ տիպը համապատասխան փաթաթման դասի օբյեկտին ավտոմատ կերպով փոխակերպելու գործընթացը հայտնի է որպես autoboxing:
Ո՞րն է նմանությունը Wrapper դասի և պարզունակ տիպի միջև Java-ում:
Եվ Wrapper դասը, և Primitive Type-ը Java-ում կարող են օգտագործվել ծրագրավորման մեջ տվյալները պահելու համար:
Ո՞րն է տարբերությունը Wrapper դասի և պարզունակ տիպի միջև Java-ում:
Wrapper Class ընդդեմ պարզունակ տեսակի Java-ում |
|
Wrapper դասը ապահովում է պարզունակ տիպը օբյեկտի և օբյեկտը պարզունակ տիպի փոխարկելու մեխանիզմ: | Պարզունակ տեսակը նախապես սահմանված տվյալների տեսակ է, որը տրամադրվում է Java-ի կողմից: |
հարակից դասարան | |
Օբյեկտ ստեղծելու համար օգտագործվում է Wrapper դաս; հետևաբար, այն ունի համապատասխան դաս։ | Պարզունակ տեսակը օբյեկտ չէ, ուստի այն դասին չի պատկանում: |
Null Values | |
Wrapper դասի օբյեկտները թույլ են տալիս զրոյական արժեքներ: | Տվյալների պարզունակ տեսակը թույլ չի տալիս զրոյական արժեքներ: |
Պահանջվում է հիշողություն | |
Պահանջվող հիշողությունն ավելի բարձր է, քան պարզունակ տեսակները: Կլաստերային ինդեքսը լրացուցիչ տարածք չի պահանջում: | Պահանջվող հիշողությունը ավելի ցածր է, համեմատած փաթաթման դասերի հետ: |
Հավաքածուներ | |
Wrapper դասը կարող է օգտագործվել այնպիսի հավաքածուի հետ, ինչպիսին է ArrayList և այլն: | Պարզունակ տեսակը չի օգտագործվում հավաքածուների հետ: |
Ամփոփում – Wrapper Class vs Primitive Type Java-ում
Java լեզուն ապահովում է տվյալների ութ պարզունակ տեսակ: Երբեմն պահանջվում է պարզունակ տիպերը վերածել օբյեկտի և նաև օբյեկտները վերափոխել պարզունակների: Այդ առաջադրանքին հասնելու համար կարող են օգտագործվել Wrapper դասերը: Java-ում wrapper դասի և պարզունակ տիպի տարբերությունն այն է, որ wrapper դասը օգտագործվում է պարզունակ տիպը օբյեկտի և օբյեկտը նորից պարզունակ տիպի փոխարկելու համար, մինչդեռ պարզունակ տեսակը նախապես սահմանված տվյալների տեսակ է, որը տրամադրվում է Java ծրագրավորման լեզվով: