CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ ريپر ڪلاس
John Squirrels
سطح
San Francisco

جاوا ۾ ريپر ڪلاس

گروپ ۾ شايع ٿيل
سلام توھان اڳي ئي چڱي طرح واقف آھيو ابتدائي قسمن سان، ۽ توھان انھن سان ڪافي ڪم ڪيو آھي. پروگرامنگ ۾ (۽ خاص طور تي جاوا)، پرائمري جا ڪيترائي فائدا آھن: اھي ٿوري ميموري استعمال ڪندا آھن (۽ اھڙيءَ طرح پروگرام کي وڌيڪ ڪارائتو بڻائيندا آھن) ۽ انھن وٽ قدرن جي واضح طور تي بيان ڪيل حد آھي. بهرحال، جاوا سکڻ دوران، اسان اڳ ۾ ئي منتر کي بار بار ڪيو آهي "جاوا ۾ هر شيء هڪ اعتراض آهي". پر primitives سڌو سنئون انهن لفظن جي تضاد. اهي شيون نه آهن. پوء، ڇا اسان جو "هر شيء هڪ اعتراض آهي" اصول غلط آهي؟ حقيقت ۾، اهو نه آهي. جاوا ۾، هر ابتدائي قسم جو هڪ جڙيل ڀاءُ آهي، هڪ ڍڪڻ وارو طبقو.

ريپر ڪلاس ڇا آهي؟

هڪ لفافي هڪ خاص طبقو آهي جيڪو هڪ پرائمري اندروني طور تي ذخيرو ڪري ٿو. پر ڇاڪاڻ ته اهو هڪ ڪلاس آهي، توهان ان جا مثال ٺاهي سگهو ٿا. اهي اندروني قدرن کي ذخيرو ڪن ٿا، پر اڃا تائين حقيقي شيون آهن. ريپر ڪلاس جا نالا بلڪل ملندڙ جلندڙ آهن (يا بلڪل ساڳي طرح) انهن جي لاڳاپيل پرائمري جا نالا. تنهن ڪري، اهي ياد ڪرڻ آسان آهن.
پرائمري ڊيٽا جي قسمن لاء ريپر ڪلاس
پرائمري ڊيٽا جا قسم ريپر ڪلاس
int عدد
مختصر ننڍو
ڊگهو ڊگھو
بائيٽ بائيٽ
فلوٽ فلوٽ
ٻيڻو ٻيڻو
چار ڪردار
بولين بوليان
لفافي شيون ٺاهيا ويا آهن ساڳي طرح ڪنهن ٻئي اعتراض وانگر:
public static void main(String[] args) {

   Integer i = new Integer(682);

   Double d = new Double(2.33);

   Boolean b = new Boolean(false);
}
لفافي طبقن کي اسان کي ابتدائي قسمن جي گهٽتائي کي گھٽائڻ ڏيو. سڀ کان وڌيڪ واضح آهي ته ابتدائي طريقن وارا طريقا نه آهن. مثال طور، انهن وٽ toString() طريقو نه آهي ، تنهنڪري توهان نٿا ڪري سگهو، مثال طور، هڪ int کي String ۾ تبديل ڪريو . پر انٽيگر ريپر ڪلاس هن کي آسان بڻائي ٿو.
public static void main(String[] args) {

   Integer i = new Integer(432);

   String s = i.toString();
}
بهرحال، ٻئي طرف تبديل ڪرڻ مشڪل ٿي سگهي ٿو. اچو ته چئون ته اسان وٽ هڪ اسٽرنگ آهي ، جنهن کي اسان ڄاڻون ٿا پڪ سان هڪ نمبر تي مشتمل آهي. ان جي باوجود، اسٽرنگ مان نمبر ڪڍڻ ۽ ان کي نمبر ۾ تبديل ڪرڻ لاءِ primitive int استعمال ڪرڻ جو ڪو به طريقو ناهي . پر، اسان لفافي طبقن سان ڪري سگهون ٿا.
public static void main(String[] args) {

   String s = "1166628";

   Integer i = Integer.parseInt(s);

   System.out.println(i);
}
پيداوار:
1166628
اسان ڪاميابيءَ سان اسٽرنگ مان ھڪڙو نمبر ڪڍيو ۽ ان کي Integer reference variable i کي تفويض ڪيو . رستي جي ذريعي، حوالن جي حوالي سان. توھان اڳ ۾ ئي ڄاڻو ٿا ته دليلن کي مختلف طريقن سان طريقن سان منتقل ڪيو ويو آھي: قدر جي لحاظ کان، ۽ شيون حوالن سان. توھان ھي علم استعمال ڪري سگھو ٿا جڏھن توھان جا طريقا ٺاھيو: مثال طور، جيڪڏھن توھان جو طريقو جزوي انگن کي استعمال ڪري ٿو پر توھان کي منطق جي حوالي سان پاس ڪرڻ جي ضرورت آھي، توھان پاس ڪري سگھو ٿا Double / Float دليلن کي ڊبل / فلوٽ جي بدران . لفافي طبقن جي طريقن سان گڏ، انهن جي جامد شعبن کي پڻ تمام آسان ٿي سگهي ٿو. مثال طور، تصور ڪريو توھان وٽ ھيٺ ڏنل ڪم آھي: وڌ ۾ وڌ ممڪن int قدر ڏيکاريو، بعد ۾ گھٽ ۾ گھٽ ممڪن قدر. اهو مسئلو بلڪه بنيادي لڳي ٿو. پر گوگل کان سواء، اهو ممڪن ناهي ته توهان اهو ڪري سگهو ٿا. پر لفافي توهان کي آساني سان اهڙي "منڊي ڪم" کي هٿي ڏيڻ جي اجازت ڏين ٿا:
public class Main {
   public static void main(String[] args) {

       System.out.println(Integer.MAX_VALUE);
       System.out.println(Integer.MIN_VALUE);
   }
}
اهي شعبا توهان کي وڌيڪ سنجيده ڪمن کي پورو ڪرڻ کان پريشان ٿيڻ کان روڪيندا آهن. ان حقيقت جو ذڪر نه ڪرڻ ته 2147483647 ۾ ٽائپنگ (جيڪو MAX_VALUE جي قيمت ٿئي ٿو) ڪو معمولي ڪم ناهي! :) ان کان علاوه، هڪ پوئين سبق ۾، اسان نشاندهي ڪئي آهي ته لفافي شيون ناقابل قابل آهن.
public static void main(String[] args) {

   Integer a = new Integer(0);
   Integer b = new Integer(0);

   b = a;
   a = 1;
   System.out.println(b);
}
پيداوار:
0
اعتراض جي حالت اصل ۾ اشارو ڪيو ويو a طرفان تبديل نه ٿيو (ڇاڪاڻ ته b جو قدر به تبديل ٿي چڪو هوندو). جيئن String s سان، ريپر اعتراض جي حالت کي تبديل ڪرڻ بدران، ميموري ۾ مڪمل طور تي نئين شئي ٺاهي وئي آهي. تنهن ڪري، ڇو جاوا جي تخليق ڪندڙن آخرڪار فيصلو ڪيو ته ٻولي ۾ ابتدائي قسمن کي ڇڏي ڏيو؟ جيئن ته هر شي کي هڪ اعتراض هجڻ گهرجي، ۽ اسان وٽ ريپر ڪلاس موجود آهن جيڪي هر شي کي ظاهر ڪري سگھن ٿيون جيڪي ابتدائي بيان ڪن ٿا، ڇو نه رڳو لپي کي ٻوليء ۾ رکون ۽ پرائمري کي هٽايو وڃي؟ جواب سادو آهي: ڪارڪردگي. Primitive قسمن کي Primitive چئبو آهي ڇاڪاڻ ته انهن ۾ ڪيتريون ئي شيون موجود نه هونديون آهن. ها، شيون ڪيترائي آسان طريقا آهن، پر توهان کي هميشه انهن جي ضرورت ناهي. ڪڏهن، توهان کي ضرورت آهي نمبر 33، يا 2.62، يا صحيح / غلط . اهڙين حالتن ۾ جتي شيون جا فائدا اهم نه هوندا آهن ۽ پروگرام کي ڪم ڪرڻ جي ضرورت نه هوندي آهي، primitives تمام گهڻو بهتر ڪم لاء مناسب آهن.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION