ال فئة المجمع في جافا توفر الآلية لتحويل البدائية إلى كائن والكائن إلى بدائية .
منذ J2SE 5.0، com.autoboxing و الإخراج من العلبة ميزة تحويل الأوليات إلى كائنات والكائنات إلى أوليات تلقائيًا. يُعرف التحويل التلقائي للبدائية إلى كائن باسم autoboxing والعكس بالعكس.
استخدام فئات المجمع في جافا
Java هي لغة برمجة موجهة للكائنات، لذلك نحتاج إلى التعامل مع الكائنات عدة مرات كما هو الحال في المجموعات، والتسلسل، والمزامنة، وما إلى ذلك. دعونا نرى السيناريوهات المختلفة، حيث نحتاج إلى استخدام فئات المجمع.
العثور على اي فون الخاص بي من الروبوت
الصفوف الثمانية من java.lang تُعرف الحزمة باسم فئات المجمع في Java. قائمة الفئات الثمانية المجمعة موضحة أدناه:
النوع البدائي | الطبقة المجمعة |
---|---|
منطقية | منطقية |
شار | شخصية |
بايت | بايت |
قصير | قصير |
كثافة العمليات | عدد صحيح |
طويل | طويل |
يطفو | يطفو |
مزدوج | مزدوج |
التعبئة التلقائية
يُعرف التحويل التلقائي لنوع البيانات البدائية إلى فئة الغلاف المقابلة له باسم autoboxing، على سبيل المثال، byte إلى Byte، وchar إلى Character، وint إلى عدد صحيح، وlong إلى Long، وfloat إلى Float، وboolean إلى Boolean، وdouble إلى Double، وshort إلى قصيرة.
منذ إصدار Java 5، لم نعد بحاجة إلى استخدام طريقة valueOf() لفئات الغلاف لتحويل العناصر الأولية إلى كائنات.
مجموعة بايت إلى سلسلة Java
مثال على فئة المجمع: بدائي للغلاف
//Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }}
انتاج:
20 20 20
الإخراج من العلبة
يُعرف التحويل التلقائي لنوع الغلاف إلى النوع البدائي المقابل له باسم إلغاء العلبة. إنها العملية العكسية للعلبة التلقائية. منذ إصدار Java 5، لم نعد بحاجة إلى استخدام طريقة intValue() لفئات الغلاف لتحويل نوع الغلاف إلى أنواع أولية.
مثال على فئة المجمع: المجمع إلى البدائي
//Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }}
انتاج:
الأعرج استبدال اللون
3 3 3
مثال على فئات Java Wrapper
//Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }}
انتاج:
---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true
فئة المجمع المخصص في جافا
تقوم فئات Java Wrapper بتغليف أنواع البيانات البدائية، ولهذا السبب تُعرف باسم فئات المجمعة. يمكننا أيضًا إنشاء فئة تحتوي على نوع بيانات بدائي. لذلك، يمكننا إنشاء فئة مجمعة مخصصة في جافا.
//Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }}
انتاج:
10