একটি Java enum হল একটি ডেটা টাইপ যা ধ্রুবকগুলির একটি তালিকা সংরক্ষণ করে। আপনি enum কীওয়ার্ড ব্যবহার করে একটি enum অবজেক্ট তৈরি করতে পারেন। Enum ধ্রুবকগুলি একটি জোড়া কোঁকড়া বন্ধনীর মধ্যে একটি কমা দ্বারা পৃথক তালিকা হিসাবে উপস্থিত হয়৷
একটি enum, যা গণনার জন্য সংক্ষিপ্ত, একটি ডেটা প্রকার যার সম্ভাব্য মানগুলির একটি নির্দিষ্ট সেট রয়েছে৷
Enums দরকারী যদি আপনি একটি মান নিয়ে কাজ করছেন যা শুধুমাত্র একটি নির্দিষ্ট মান ধারণ করা উচিত যা মানগুলির একটি তালিকার মধ্যে থাকে। উদাহরণস্বরূপ, যদি আপনি একটি দোকানে বিক্রি কফি আকারের একটি তালিকা সংরক্ষণ করতে চান তাহলে একটি enum ব্যবহার করা হবে।
এই টিউটোরিয়ালটি জাভাতে enums-এর মূল বিষয়গুলির মধ্য দিয়ে যাবে। আপনাকে শুরু করতে সাহায্য করার জন্য আমরা একটি জাভা প্রোগ্রামে একটি enum ক্লাসের কয়েকটি উদাহরণ উল্লেখ করব।
জাভা এনাম সিনট্যাক্স
একটি জাভা enum ধ্রুবকের একটি তালিকা উপস্থাপন করে। একটি enum থেকে নির্ধারিত একটি ভেরিয়েবলের শুধুমাত্র একটি মান থাকতে পারে যা enum এ প্রদর্শিত হয়। Enums ডেভেলপারদের ডেটা সংরক্ষণ করতে সাহায্য করে যা তারা জানে যে পরিবর্তন হবে না৷
ধরা যাক আপনি সিদ্ধান্ত নিন যে একটি জাভা ভেরিয়েবল যা কর্মচারী বেতন গ্রেড সঞ্চয় করে তার পাঁচটি মানগুলির মধ্যে একটি থাকতে পারে। অথবা, আপনি একটি পরিবর্তনশীল সিদ্ধান্ত নেন যে কর্মচারী চুক্তিগুলি শুধুমাত্র পার্ট-টাইম সঞ্চয় করতে পারে , পূর্ণ-সময় , অথবা শূন্য-ঘণ্টা। এই ক্ষেত্রে, আপনি ডেটা সংরক্ষণ করতে একটি enum ব্যবহার করতে চান৷
Enums ঘোষণা করা হয় “enum ব্যবহার করে " টাইপ এখানে “enum-এর সিনট্যাক্স " কীওয়ার্ড:
enum name {
VALUE1, VALUE2, VALUE3
}
আসুন এই সিনট্যাক্সটি ভেঙে দেওয়া যাক:
- enum আমাদের প্রোগ্রামকে বলে যে আমরা একটি গণনা ঘোষণা করতে চাই৷ ৷
- নাম আমাদের enum এর নাম।
- VALUE1, VALUE2, VALUE3৷ আমাদের enum দোকানে ধ্রুবক মানগুলির সেট। এই মানগুলি সাধারণত বড় হাতের অক্ষরে লেখা হয়৷
জাভাতে কেন Enums ব্যবহার করবেন?
enums ব্যবহার করে আপনি একটি অ্যালগরিদমকে নিজের এবং কম্পিউটার উভয়ের কাছে আরও পাঠযোগ্য উপায়ে প্রকাশ করতে পারবেন।
একটি enum লেখা কম্পিউটারকে বলে যে একটি ভেরিয়েবলের শুধুমাত্র একটি নির্দিষ্ট সংখ্যক মান থাকতে পারে। এটি আপনাকে, কোডারকেও বলে যে এটি এমন, যা আপনার কোড বোঝা সহজ করে তুলবে। আপনি যদি একটি ভেরিয়েবল দেখতে পান যা একটি enum ব্যবহার করে, আপনি জানেন যে ভেরিয়েবলের শুধুমাত্র একটি সীমিত সংখ্যক মান থাকতে পারে।
অতিরিক্তভাবে, enums আপনাকে আরও কার্যকরভাবে ধ্রুবক ব্যবহার করতে দেয়। আসলে, int প্রতিস্থাপন করার জন্য enum চালু করা হয়েছিল জাভাতে ধ্রুবক, যা একাধিক লাইন বিস্তৃত এবং পড়া কঠিন ছিল। এখানে একটি পুরানো int এর একটি উদাহরণ জাভাতে ধ্রুবক:
আমাদের কোড এই ধ্রুবকগুলি ঘোষণা করতে পাঁচটি লাইন নেয়। কিন্তু একটি enum ব্যবহার করে, আমরা আমাদের কোডকে তিনটি লাইনে কমাতে পারি। নীচের উদাহরণে, আমরা enum ধ্রুবকের একটি তালিকা ঘোষণা করি:
class IntConstant {
public final static int ECONOMY = 1;
public final static int BUSINESS = 2;
public final static int FIRST_CLASS = 3;
}
আমাদের কোড এই ধ্রুবকগুলি ঘোষণা করতে পাঁচটি লাইন নেয়। কিন্তু একটি enum ব্যবহার করে, আমরা আমাদের কোডকে তিনটি লাইনে কমাতে পারি। নীচের উদাহরণে, আমরা enum ধ্রুবকের একটি তালিকা ঘোষণা করি:
class AirplaneClasses {
ECONOMY, BUSINESS, FIRST_CLASS
}
এই কোডটি সহজ এবং পড়া সহজ৷
৷একটি Java Enum ঘোষণা করা
আমরা একটি অ্যাপ তৈরি করছি যা অপেক্ষা কর্মীরা একটি কফি শপে বারিস্তাদের কাছে কফি অর্ডার জমা দিতে ব্যবহার করতে পারে।
যখন একটি বারিস্তা পানীয়ের আকারের জন্য একটি মান সন্নিবেশ করান, আমরা কেবল তিনটি সম্ভাব্য বিকল্প চাই। এই বিকল্পগুলি হল:ছোট, নিয়মিত এবং বড়৷ আমরা একটি পানীয়ের সম্ভাব্য আকারগুলিকে সেই বিকল্পগুলিতে সীমাবদ্ধ করতে একটি enum ব্যবহার করতে পারি:
enum Sizes {
SMALL, REGULAR, LARGE
}
এই উদাহরণে, আমরা Sizes নামে একটি enum ঘোষণা করেছি যার তিনটি সম্ভাব্য মান আছে। এখন যেহেতু আমরা একটি enum ঘোষণা করেছি, আমরা আমাদের কোডে এর মান উল্লেখ করতে পারি।
জাভা এনাম উদাহরণ
আমরা একটি প্রোগ্রাম লিখছি যা একজন গ্রাহক কনসোলে অর্ডার করা কফির আকার প্রিন্ট করে। গ্রাহকের পানীয় প্রস্তুতকারী বারিস্তা এই মানটি পড়বে।
কনসোলে একজন গ্রাহক যে কফি অর্ডার করেছেন তার আকার প্রিন্ট করতে আমরা নিম্নলিখিত কোডটি ব্যবহার করতে পারি:
enum Sizes {
SMALL, REGULAR, LARGE
}
class PrintSize {
Sizes coffeeSize;
public PrintSize(Sizes coffeeSize) {
this.coffeeSize = coffeeSize;
}
public void placeOrder() {
switch(coffeeSize) {
case SMALL:
System.out.println("This coffee should be small.");
break;
case REGULAR:
System.out.println("This coffee should be REGULAR.");
break;
case LARGE:
System.out.println("This coffee should be large.");
break;
}
}
}
class Main {
public static void main(String[] args) {
PrintSize order173 = new PrintSize(Sizes.SMALL);
order173.placeOrder();
}
}
আমাদের কোড ফিরে আসে:
This coffee should be small.
প্রথমত, আমরা সাইজ নামক একটি enum ঘোষণা করি। এই enum এর তিনটি মান থাকতে পারে:SMALL, REGULAR, বা LARGE. এর পরে, আমরা প্রিন্ট সাইজ নামে একটি ক্লাস ঘোষণা করি। এই শ্রেণীটি গ্রাহকের পানীয়ের আকার গ্রহণ করে এবং কনসোলে পানীয়ের আকার প্রিন্ট করে।
আমাদের মূল প্রোগ্রামে, আমরা order173 নামে একটি বস্তু ঘোষণা করি ,” যা PrintSize ক্লাস ব্যবহার করে। আমরা আমাদের কোডের মাধ্যমে জাভা প্যারামিটার Sizes.SMALL পাস করেছি। এটি আমাদের প্রোগ্রামকে coffeeSize ভেরিয়েবলে SMALL মান নির্ধারণ করতে বলে। প্রিন্ট সাইজ ক্লাসে।
তারপর আমরা order173.placeOrder() ব্যবহার করি সুইচ কেস-এর মধ্যে কোডটি কার্যকর করতে PrintSize ক্লাসে বিবৃতি। এটি তিনটি ক্ষেত্রে "কফি সাইজ" ভেরিয়েবলের মান মূল্যায়ন করে। একজন গ্রাহক যে কফির অর্ডার দিয়েছেন তার উপর নির্ভর করে কনসোলে একটি বার্তা প্রিন্ট করা হয়।
আমরা নির্দিষ্ট করেছি যে গ্রাহক একটি ছোট কফির অর্ডার দিয়েছেন। আমাদের কোড প্রিন্ট করে, "এই কফিটি ছোট হওয়া উচিত।" কনসোলে।
আপনি যদি জাভা সুইচ কেস স্টেটমেন্ট সম্পর্কে আরও জানতে চান, তাহলে আপনি জাভা সুইচ স্টেটমেন্টে আমাদের টিউটোরিয়ালে সেগুলি সম্পর্কে পড়তে পারেন।
জাভা এনাম পদ্ধতি
জাভা এনাম ক্লাসে অনেকগুলি পূর্বনির্ধারিত পদ্ধতি রয়েছে যা enum ক্লাস ব্যবহার করে এমন মানগুলি পুনরুদ্ধার এবং ম্যানিপুলেট করতে ব্যবহৃত হয়। নীচে আমরা সর্বাধিক ব্যবহৃত enum পদ্ধতিগুলির মধ্যে পাঁচটি ভাঙ্গা করেছি৷

"ক্যারিয়ার কর্ম আমার জীবনে প্রবেশ করেছিল যখন আমার এটির সবচেয়ে বেশি প্রয়োজন ছিল এবং দ্রুত আমাকে একটি বুটক্যাম্পের সাথে মেলাতে সাহায্য করেছিল। স্নাতক হওয়ার দুই মাস পরে, আমি আমার স্বপ্নের চাকরি পেয়েছি যা আমার মূল্যবোধ এবং জীবনের লক্ষ্যগুলির সাথে সামঞ্জস্যপূর্ণ!"
ভেনাস, রকবটের সফটওয়্যার ইঞ্জিনিয়ার
আপনার বুটক্যাম্প ম্যাচ
খুঁজুনতুলনা করুন()
compareTo() একটি enum অভিধানে ধ্রুবকগুলির তুলনা করে এবং তাদের অর্ডিনাল মানের মধ্যে পার্থক্য প্রদান করে। আমাদের উপরের উদাহরণ থেকে একটি enum মান দিয়ে compareTo() ব্যবহার করার একটি উদাহরণ এখানে দেওয়া হল:
int difference = Sizes.SMALL.compareTo(Sizes.LARGE); System.out.println(difference);
আমাদের কোড SMALL এর মধ্যে পার্থক্য প্রদান করে এবং LARGE স্ট্রিং তাদের অর্ডিনাল মানের উপর ভিত্তি করে। এই ক্ষেত্রে, আমাদের কোড ফিরে আসে:
-2
toString()
toString() একটি enum এর নামকে একটি স্ট্রিং এ রূপান্তর করে। এখানে LARGE রূপান্তর করতে ব্যবহৃত toString() এর একটি উদাহরণ একটি স্ট্রিং এর enum মান:
String large_string = LARGE.toString(); System.out.println(large_string);
আমাদের কোড ফিরে আসে:
“LARGE”
নাম()
name() পদ্ধতি একটি enum ক্লাসে একটি ধ্রুবক সংজ্ঞায়িত করতে ব্যবহৃত নাম প্রদান করে। নিয়মিত কফির আকারের সংজ্ঞায়িত নাম ফেরত দিতে name() পদ্ধতির একটি উদাহরণ এখানে দেওয়া হল:
String regular_name = name(REGULAR); System.out.println(regular_name);
আমাদের কোড ফিরে আসে:
“REGULAR”
মান()
মান() পদ্ধতি একটি জাভা অ্যারে প্রদান করে যা একটি enum-এ সমস্ত ধ্রুবক সংরক্ষণ করে। এখানে মান() কর্ম পদ্ধতির একটি উদাহরণ:
Sizes[] sizeList = Sizes.values();
valueOf()
valueOf() একটি স্ট্রিং গ্রহণ করে এবং enum ধ্রুবক প্রদান করে, যার একই নাম রয়েছে। সুতরাং, যদি আমরা REGULAR, নামের সাথে enum ধ্রুবক পুনরুদ্ধার করতে চাই আমরা এই কোড ব্যবহার করে তা করতে পারি:
String regular_constant = Sizes.valueOf("REGULAR");
System.out.println(regular_constant);
আমাদের কোড ফিরে আসে:
REGULAR
উপসংহার
একটি enum, একটি গণনার জন্য সংক্ষিপ্ত, একটি জাভা ডেটা টাইপ যার মানগুলির একটি নির্দিষ্ট সেট রয়েছে৷
যদি আপনি ভেরিয়েবলের সাথে কাজ করেন যেগুলি শুধুমাত্র একটি নির্বাচিত মানগুলির মধ্যে একটি সংরক্ষণ করতে সক্ষম হবেন তাহলে Enums দরকারী৷
আপনি এই টিউটোরিয়ালে যা পড়েছেন তা অনুশীলন করার পরে, আপনি জাভাতে enums ব্যবহারে বিশেষজ্ঞ হবেন। জাভাতে কোডিং সম্পর্কে আরও জানতে, জাভাতে কীভাবে কোড করবেন সে সম্পর্কে আমাদের সম্পূর্ণ নির্দেশিকা পড়ুন।