জাভাতে অটোবক্সিং এবং আনবক্সিং কী?



এই নিবন্ধটি আপনাকে আরও ভাল বোঝার জন্য কয়েকটি উদাহরণ সহ জাভাতে অটোবক্সিংয়ের দিকে একটি বিস্তৃত দৃষ্টিভঙ্গি দেবে।

যে কোনও ভাষায় প্রোগ্রাম লেখার সময় আমরা বেশিরভাগ সময় আদিম ডেটা ব্যবহার করি। তবে এমন পরিস্থিতি রয়েছে যেখানে আদিম ডেটা টাইপগুলির রাজ্যে খুব কম হয় এবং তাদের মধ্যে একটি। আদিম ডেটাটাইপগুলির ত্রুটিগুলি কাটিয়ে উঠতে, আমরা ব্যবহার করি মোড়ক । এই পদ্ধতিটিকে অটোবক্সিং বলা হয়। আমরা নীচে ডকেটের মাধ্যমে জাভাতে বিস্তারিত অটোবক্সিং নিয়ে আলোচনা করব:

চল শুরু করি.





জাভাতে বক্সিং এবং অটোবক্সিং কী?

বক্সিং এবং অটোবক্সিং প্রায়শই একই ধারণাটি উল্লেখ করতে ব্যবহৃত হয়। তবে বাস্তবে এগুলি একরকম নয়। আসুন প্রথমে বক্সিংয়ের ধারণা সম্পর্কে কথা বলি। বক্সিং কি? মনে হচ্ছে আমরা ঠিক কোনও বাক্সের ভিতরে কিছু রাখছি? হ্যাঁ, যখন আমরা বলি যে আমরা বক্সিং করছি বা কোনও আদিম ডেটা গুছিয়ে নিচ্ছি তার অর্থ আমরা কোনও জিনিস তৈরি করতে এটি মোড়ানো করছি। এখনও বিভ্রান্ত? আসুন একটি উদাহরণ নেওয়া যাক।

প্রথম ফার্স্ট নাম্বার = 1

পরিবর্তনশীল ‘ফার্স্ট নাম্বার’ টাইপ ইন্টের যা ক । এখন, আমি যদি ভেরিয়েবল ‘ফার্স্টনম্বার’ কে কোনও বস্তুতে রূপান্তর করতে চাই? জাভা এটি করার একটি উপায় সরবরাহ করে।



পূর্ণসংখ্যার সেকেন্ডনিম্বার = নতুন পূর্ণসংখ্যা (2)

লক্ষ্য করুন যে ‘সেকেন্ডনম্বার’ টাইপ ইন্টের নয় তবে এটি পূর্ণসংখ্যা টাইপের একটি অবজেক্ট। আদিম তথ্য প্রকারকে কোনও বস্তুতে রূপান্তর করার এই প্রক্রিয়াটিকে বক্সিং বলা হয়। আপনি জিজ্ঞাসা করতে পারেন এটি কীভাবে সম্ভব? এই কাজটি সম্পাদন করার সহজতম উপায় কী তা নিয়ে ভাবুন। আমরা একটি তৈরি করতে পারেন ক্লাস টাইপ int এর একক বৈশিষ্ট্যযুক্ত, একটি নির্মাতা যা কোনও int টাইপ মান নেয় এবং এটি আমাদের শ্রেণীর বৈশিষ্ট্যগুলিতে নির্ধারিত করে, এবং এই INT মানটি ব্যবহার করার জন্য কয়েকটি পদ্ধতি। এটি সম্পর্কে আরও জানতে এটি উল্লেখ করুন দলিল

আমরা দেখেছি কীভাবে টাইপটি জাভাতে রূপান্তর করা যায়। অন্যান্য প্রাথমিক তথ্য প্রকারকে বস্তুতে রূপান্তর করার কোনও উপায় আছে কি? হ্যাঁ, জাভা শ্রদ্ধা করেছে মোড়ক ক্লাস বিভিন্ন আদিম তথ্য ধরণের জন্য আমরা তাদের এই পোস্টের পরবর্তী বিভাগে তদন্ত করব।

অটোবক্সিং

এই মুহুর্তে, আমরা জানি বক্সিং কী। অটোবক্সিং কী তা এখন বুঝতে দিন। কম্পাইলার দ্বারা স্পষ্টভাবে উল্লেখ ছাড়াই বক্সিং প্রক্রিয়াটি সম্পন্ন করা হয়, তাকে অটোবক্সিং বলে।



আসুন এটি উদাহরণ সহ বুঝি:

আমদানি java.util.ArrayList আমদানি java.util.Listclass বক্স {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) My তালিকা মাইলিস্ট = নতুন অ্যারেলিস্ট () এর জন্য (int i = 0 i)<10 i++) Mylist.add(i) } }

যেমনটি আমরা আগে আলোচনা করেছি কেবলমাত্র অবজেক্ট গ্রহণ করে এবং আদিম ডেটা ধরণের কাজ করে না। উপরের প্রোগ্রামে আমরা কোনও ধরণের ইন্টিজার টাইপ অবজেক্টে রূপান্তর করি নি এখনও প্রোগ্রামটি কোনও ত্রুটি ছাড়াই কার্যকর করে utes কীভাবে? এই প্রশ্নের উত্তর হ'ল, সংকলক স্বয়ংক্রিয়ভাবে বক্সিং প্রক্রিয়াটি ‘মাইলিস্ট’ এ মান যুক্ত করার আগে অটোবক্সিং নামটি করেছিল।

Mylist.add (পূর্ণসংখ্যা.মূল্যঅফ (i))

উপরের কোডের লাইনটি আমাদের প্রোগ্রামে সংকলক যুক্ত করেছে।

বিঃদ্রঃ- উপরের কোডের শ্রেণিতে শ্রেণীর নাম ‘ইন্টিজার’ পদ্ধতি মানের আগে (ও) মান উল্লেখ করা হয়, যেহেতু মান ওফ () একটি স্ট্যাটিক পদ্ধতি। আরও উদাহরণের জন্য দেখুন ডকস

আনবক্সিং এবং স্বতঃবক্সিং

আমরা দেখেছি কিভাবে আদিম তথ্য প্রকারের বস্তুতে রূপান্তরিত হয়। তবে এটি গল্পের অর্ধেক মাত্র। গল্পের অন্যান্য অর্ধেক প্রকারের মোড়ক শ্রেণির কোনও বস্তুকে তার আদিম ডেটা টাইপে রূপান্তরিত করে আনবক্সিং

পাইথনে কোনও বস্তুর সূচনা কীভাবে করা যায়

উদাহরণ স্বরূপ-

পূর্ণসংখ্যার ফার্স্টনম্বার = নতুন পূর্ণসংখ্যা (1) ইন সেকেন্ডনিম্বার = ফার্স্টনम्बर.ইনটিভ্যালু () System.out.println (দ্বিতীয় নম্বর)

আউটপুট- 1

স্বতঃবাক্সিং- যখন স্পষ্টভাবে উল্লেখ না করে সংকলক দ্বারা আনবক্সিংয়ের প্রক্রিয়াটিকে অটআউনবক্সিং বলে।

ঝকঝকে তথ্য মিশ্রণ কাজ করছে না

উদাহরণ স্বরূপ-

পূর্ণসংখ্যা সংখ্যা = নতুন পূর্ণসংখ্যা (20) পূর্ণ সংখ্যা = সংখ্যা

উপরের কোডটি স্বতঃবাক্সিংয়ের একটি উদাহরণ। পরবর্তী বিভাগে, আমরা র‌্যাপার ক্লাস সম্পর্কে শিখব।

মোড়ক ক্লাস

আমরা টাইপ ভেরিয়েবল ইন্টেল ইন্টিজার টাইপ অবজেক্টে রূপান্তরিত করেছি। এই পূর্ণাঙ্গ শ্রেণিটি একটি মোড়কের ক্লাস। জাভাতে প্রত্যেকের জন্য একটি মোড়ক ক্লাস পাওয়া যায় । এই মোড়কের ক্লাসগুলি আদিম প্রকার থেকে সম্পর্কিত র্যাপার শ্রেণির ধরণের অবজেক্টে রূপান্তরিত করতে আমাদের সহায়তা করে। মোড়কের ক্লাসের পদ্ধতিগুলি মানগুলি কার্যকর করতে কার্যকর।

নীচের সারণিটি আদিম ডেটা টাইপ এবং এর সাথে সম্পর্কিত রেপার ক্লাস সম্পর্কে আমাদের জানায়।

আদিম প্রকার মোড়ক ক্লাস

বুলিয়ান

বুলিয়ান

বিদায়

বাইট

চর

চরিত্র

ভাসা

ভাসা

int

পূর্ণসংখ্যা

দীর্ঘ

দীর্ঘ

চূড়ান্ত বনাম অবশেষে বনাম চূড়ান্ত

সংক্ষিপ্ত

সংক্ষিপ্ত

দ্বিগুণ

দ্বিগুণ

র্যাপার ক্লাসগুলিতে মূলধনটি লক্ষ্য করুন।

এইভাবে আমরা ‘জাভাতে অটোবক্সিং’ সম্পর্কিত এই নিবন্ধটির শেষে এসেছি। আপনি যদি আরও শিখতে চান তবে এটি দেখুন এডুরেকা, একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি আপনাকে হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগ 'জাভাতে অটোবক্সিং' এর মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।