1. মোড়কের প্রকারের তালিকা
আপনি জানেন যে জাভাতে 8 টি আদিম প্রকার রয়েছে, যা এমন ধরনের যা ক্লাস নয়। একদিকে, এটি ভাল - এগুলি সহজ এবং সামান্য জায়গা নেয়। অন্যদিকে, কখনও কখনও ক্লাসগুলি আমাদের প্রয়োজন। আপনি পরবর্তী পাঠে ঠিক কেন তা খুঁজে পাবেন।
তাহলে কি করা উচিত?
জাভার পঞ্চম সংস্করণ থেকে শুরু করে, প্রতিটি আদিম টাইপ একটি যমজ শ্রেণী লাভ করে। এই ধরনের প্রতিটি ক্লাস একটি নির্দিষ্ট ধরনের মান সহ একটি একক ক্ষেত্র সঞ্চয় করে। এই ক্লাসগুলিকে মোড়কের ধরন বলা হয় , কারণ তারা ক্লাসে আদিম মানগুলিকে মোড়ানো থাকে।
এখানে এই ধরনের একটি তালিকা আছে. তুমি কি কিছু জান?
আদিম প্রকার | মোড়ক ক্লাস |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
আদিম প্রকারের নামগুলি একটি ছোট হাতের অক্ষর দিয়ে শুরু হয়, কিন্তু মোড়ক শ্রেণীর নামগুলি একটি বড় হাতের অক্ষর দিয়ে শুরু হয়। কিছু ক্লাসের নামও একটু লম্বা: এর Integer
পরিবর্তে int
এবং Character
পরিবর্তে char
।
র্যাপার ক্লাসের সকল বস্তু অপরিবর্তনীয় ( অপরিবর্তনীয় )।
ক্লাসের জন্য সরলীকৃত কোড Integer
এইরকম কিছু দেখায়:
কোড | বিঃদ্রঃ |
---|---|
|
ভেরিয়েবল কনস্ট্রাক্টর পদ্ধতিটি একটি মান প্রদান করে স্ট্যাটিক পদ্ধতি একটি ভেরিয়েবলের Integer জন্য একটি নতুন বস্তু তৈরি করেint |
2. একটিকে int
একটিতে রূপান্তর করাInteger
মোড়কের ধরনগুলিকে তাদের আদিম ভাইবোনের সমকক্ষ হিসাবে বিবেচনা করা হয়: আপনি সহজেই একটি আদিম প্রকারের সাথে সামঞ্জস্যপূর্ণ একটি মোড়ক বস্তু তৈরি করতে পারেন।
আদিম প্রকারগুলি তাদের সংশ্লিষ্ট র্যাপার প্রকারের সাথে কীভাবে ইন্টারঅ্যাক্ট করে তা বিশ্লেষণ করার জন্য একটি উদাহরণ হিসাবে int টাইপ ব্যবহার করা যাক। int
একটি থেকে একটি Integer
এবং তদ্বিপরীত রূপান্তর করার জন্য কোডটি দেখতে এইরকম হবে:
int
একটিকে একটিতে রূপান্তর করতে Integer
, আপনাকে এই কোডটি লিখতে হবে:
Integer name = new Integer(value);
যেখানে name
একটি ভেরিয়েবলের নাম Integer
, এবং value
মোড়ানো int
মান।
উদাহরণ:
কোড | বিঃদ্রঃ |
---|---|
|
|
|
|
|
Integer
এবং an কে an এ রূপান্তর করতে int
, আপনাকে এই কোডটি লিখতে হবে:
int name = variable.intValue();
যেখানে name
একটি পরিবর্তনশীল নাম int
, এবং variable
একটি বস্তুর একটি রেফারেন্স Integer
.
উদাহরণ:
কোড | বিঃদ্রঃ |
---|---|
|
|
|
|
|
|
|
|
3. অটোবক্সিং এবং আনবক্সিং
কিন্তু টাইপ সহ সাধারণ অপারেশনগুলিও Integer
লেখা সহজ নয়।
আমরা আগেই বলেছি, Integer
ধরনটি অপরিবর্তনীয় ( অপরিবর্তনীয় )। Integer
একটি নতুন মান সহ একটি বস্তু তৈরি করতে int
, আপনাকে স্পষ্টভাবে একটি নতুন Integer
বস্তু তৈরি করতে হবে। int
এটি বলেছে, একটি Integer
বস্তুর ভিতরে সঞ্চিত একটি মান পাওয়া সহজ - শুধু intValue()
পদ্ধতিটি কল করুন।
উদাহরণ:
কোড | বর্ণনা |
---|---|
|
5 একটি Integer বস্তুর মধ্যে মোড়ানো বস্তু থেকে মান পান একটি নতুন বস্তু তৈরি করুন (10 এর সমান) Integer Integer |
এটি বরং কষ্টকর কোড, আপনি কি মনে করেন না?
জাভার নির্মাতারা তাই ভেবেছিলেন, তাই তারা কম্পাইলারকে শিখিয়েছিলেন কীভাবে এই অপারেশনগুলি স্বয়ংক্রিয়ভাবে করতে হয়। int
একটি থেকে একটি স্বয়ংক্রিয় রূপান্তরকে Integer
বলা হয় অটোবক্সিং (স্বয়ংক্রিয়ভাবে একটি বাক্সে মান স্থাপন করা), এবং বিপরীত ক্রিয়াকলাপ (একটিকে Integer
একটিতে রূপান্তর করা int
)কে বলা হয় আনবক্সিং ।
তোমার গোপন সংকেত | কম্পাইলার কি দেখে |
---|---|
|
|
|
|
|
|
অটোবক্সিং এবং আনবক্সিং এর জন্য ধন্যবাদ, আপনি নিরাপদে int
একটি Integer
পরিবর্তনশীল এবং তদ্বিপরীত একটি বরাদ্দ করতে পারেন। int
আপনি এবং Integer
প্রকারের মধ্যে পার্থক্য না করে যেকোন জটিলতার অভিব্যক্তি লিখতে পারেন ।
উদাহরণ:
কোড | কম্পাইলার কি তৈরি করবে |
---|---|
|
|
|
|
4. মোড়ক ভেরিয়েবল তুলনা
অটোবক্সিং এবং আনবক্সিং হল সহজ এবং স্বচ্ছ প্রক্রিয়া। আমরা new Integer()
প্রয়োজন হিসাবে বিবৃতি ব্যবহার করি, এবং আমরা intValue()
প্রয়োজন হিসাবে পদ্ধতি কল করি।
সবকিছু আপনার জন্য সুন্দর এবং সহজ কাজ করে, প্রোগ্রামার. মনে রাখবেন যে আপনি যদি একটি Integer
এবং একটি তুলনা করেন Integer
, তাহলে তুলনাটি রেফারেন্সের উপর ভিত্তি করে, মান নয়।
কোড | কনসোল আউটপুট |
---|---|
|
|
|
|
এবং ভেরিয়েবল মান সংরক্ষণ করে না a
। তারা বস্তুর রেফারেন্স সংরক্ষণ করে। এর মানে এটা মনে রাখা গুরুত্বপূর্ণ যে কিভাবে তাদের সঠিকভাবে তুলনা করা যায়:b
int
ভুল | ঠিক |
---|---|
|
|
GO TO FULL VERSION