Enum
এবং Enum Class
Java প্রোগ্রামিংয়ের শক্তিশালী বৈশিষ্ট্য যা java.lang
প্যাকেজের অংশ। Enum হল একটি স্পেশাল ধরনের ক্লাস যা কনস্ট্যান্ট ভ্যালু (constant values) ধারণ করে। এটি মূলত প্রোগ্রামে সীমিত এবং নির্দিষ্ট সেটের জন্য মান প্রতিনিধিত্ব করতে ব্যবহৃত হয়, যেমন রঙ, দিন, মাস, ডিরেকশন ইত্যাদি। Java 5-এ Enums Java তে যোগ করা হয়েছিল, যা কোডের readability এবং maintainability বৃদ্ধি করে।
Enum
হল একটি বিশেষ ধরনের ক্লাস যা শুধুমাত্র একটি সীমিত সংখ্যক কনস্ট্যান্ট মান ধারণ করতে পারে। এটি সাধারণ ক্লাসের মতই, তবে এটি প্রোগ্রামিংয়ের এমন কেসগুলিতে ব্যবহৃত হয় যেখানে একটি নির্দিষ্ট সংখ্যক কনস্ট্যান্ট মান থাকতে পারে এবং আপনি ঐ কনস্ট্যান্টগুলিকে পরিচালনা করতে চান।
Enum ক্লাস java.lang
প্যাকেজের অংশ এবং এটি java.lang.Enum
ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত। Enum ক্লাসটি Java তে একটি type-safe কনস্ট্যান্ট মানের সংগ্রহ তৈরির সুযোগ দেয়, যা কোডকে আরও নিরাপদ এবং সহজবোধ্য করে তোলে।
Basic Enum: একটি enum
ক্লাস সাধারণত কনস্ট্যান্ট মানের একটি তালিকা ধারণ করে। এগুলি সাধারণত বড় হাতের অক্ষরে লেখা হয় এবং প্রোগ্রামের মধ্যে বিভিন্ন মান প্রতিনিধিত্ব করে।
সিনট্যাক্স:
enum EnumName {
CONSTANT1, CONSTANT2, CONSTANT3, ... ;
}
উদাহরণ:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumExample {
public static void main(String[] args) {
Day day = Day.MONDAY;
System.out.println(day); // Output: MONDAY
}
}
এখানে, Day
একটি enum
ক্লাস যা সপ্তাহের দিনগুলোকে প্রতিনিধিত্ব করে। আমরা MONDAY
কনস্ট্যান্টটি ব্যবহার করেছি।
Enum with Methods and Fields: আপনি enum
ক্লাসে fields, constructors, এবং methods ব্যবহার করতে পারেন। এর মাধ্যমে কাস্টম লজিক প্রয়োগ করা সম্ভব।
উদাহরণ:
public enum Day {
SUNDAY("Rest day"), MONDAY("Work day"), TUESDAY("Work day"),
WEDNESDAY("Work day"), THURSDAY("Work day"), FRIDAY("Work day"),
SATURDAY("Rest day");
private String typeOfDay;
// Constructor
Day(String typeOfDay) {
this.typeOfDay = typeOfDay;
}
public String getTypeOfDay() {
return typeOfDay;
}
}
public class EnumWithMethods {
public static void main(String[] args) {
for (Day day : Day.values()) {
System.out.println(day + ": " + day.getTypeOfDay());
}
}
}
আউটপুট:
SUNDAY: Rest day
MONDAY: Work day
TUESDAY: Work day
WEDNESDAY: Work day
THURSDAY: Work day
FRIDAY: Work day
SATURDAY: Rest day
এখানে, Day
enum ক্লাসে একটি String
field এবং একটি কনস্ট্রাক্টর আছে যা প্রতিটি দিনের জন্য বিভিন্ন ধরনের তথ্য (যেমন Rest day
বা Work day
) সংরক্ষণ করছে।
Enum Methods:
values()
: এটি একটি static
method যা enum এর সমস্ত কনস্ট্যান্টকে একটি অ্যারে হিসেবে ফেরত দেয়।valueOf(String name)
: এটি একটি static
method যা একটি কনস্ট্যান্ট নামের মাধ্যমে enum এর মান ফেরত দেয়।ordinal()
: এটি একটি method যা একটি enum
কনস্ট্যান্টের ইনডেক্স (অথবা পজিশন) প্রদান করে।উদাহরণ:
public class EnumMethodsExample {
public static void main(String[] args) {
// Printing all enum values using values()
for (Day day : Day.values()) {
System.out.println(day);
}
// Get enum constant by name using valueOf()
Day myDay = Day.valueOf("MONDAY");
System.out.println("My day: " + myDay); // Output: MONDAY
// Get the ordinal value of a specific enum constant
System.out.println("Ordinal of MONDAY: " + myDay.ordinal()); // Output: 1
}
}
values()
, valueOf()
, এবং ordinal()
মত বিল্ট-ইন মেথডস এর মাধ্যমে enum ক্লাসের ব্যবহারের পরিসর আরও বাড়ানো হয়।public class SwitchEnumExample {
public static void main(String[] args) {
Day day = Day.MONDAY;
switch (day) {
case MONDAY:
System.out.println("Start of the work week.");
break;
case SATURDAY:
case SUNDAY:
System.out.println("Weekend!");
break;
default:
System.out.println("Mid-week days.");
break;
}
}
}
আউটপুট:
Start of the work week.
Java তে Enum ক্লাস Java.lang প্যাকেজের একটি শক্তিশালী বৈশিষ্ট্য যা প্রোগ্রামারদের কনস্ট্যান্ট মানের একটি নির্দিষ্ট সেট নির্ধারণ করতে সাহায্য করে। এটি type safety, code readability, এবং maintainability বৃদ্ধির জন্য গুরুত্বপূর্ণ। Enum ব্যবহার করার মাধ্যমে আপনি কাস্টম মেথড এবং ফিল্ডস যোগ করতে পারেন এবং এতে কোড আরও পরিষ্কার এবং কার্যকর হয়ে ওঠে।
Enum
(এনাম) Java তে একটি বিশেষ ক্লাস টাইপ যা একটি ফিক্সড সেটের ভ্যালু (constants) ডিফাইন করতে ব্যবহৃত হয়। এটি Java 5 থেকে java.lang
প্যাকেজে অন্তর্ভুক্ত করা হয়েছে। Enum
প্রাথমিকভাবে ব্যবহার করা হয় যখন আপনার কোন ভ্যারিয়েবল বা কনস্ট্যান্টের সম্ভাব্য মানগুলি পূর্বনির্ধারিত এবং পরিবর্তনযোগ্য না থাকে।
Enum
ক্লাস ডিফাইন করে আপনি একটি ভ্যালু (constant) লিস্ট তৈরি করতে পারেন, যা আপনার প্রোগ্রামের মধ্যে একটি নির্দিষ্ট সেটের মধ্যে থাকবে। এই ভ্যালুগুলি immutable হয় এবং type-safe (এনাম ভ্যালু প্রকারের সাথে মেলে এমন একমাত্র মান গ্রহণ করা হয়)।
Java-এ Enum
একটি বিশেষ ধরনের ক্লাস যা java.lang.Enum
ক্লাস থেকে ইনহেরিট করে। একবার একটি এনাম ডিফাইন করা হলে, তার সমস্ত কনস্ট্যান্টগুলি অপরিবর্তনীয় (immutable) এবং পূর্বনির্ধারিত থাকে।
এনাম ক্লাস তৈরি করতে সাধারণত enum
কিওয়ার্ড ব্যবহার করা হয়।
enum EnumName {
CONSTANT1, CONSTANT2, CONSTANT3;
}
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
Day today = Day.MONDAY;
switch (today) {
case MONDAY:
System.out.println("Start of the week!");
break;
case FRIDAY:
System.out.println("Almost weekend!");
break;
default:
System.out.println("Mid week!");
break;
}
}
}
Output:
Start of the week!
Day
একটি enum
যা সাপ্তাহিক দিনের কনস্ট্যান্ট তৈরি করে।Day.MONDAY
ব্যবহার করে কনস্ট্যান্ট অ্যাক্সেস করতে পারেন।switch
স্টেটমেন্টের মাধ্যমে এনাম কনস্ট্যান্টের উপর নির্ভর করে কন্ডিশন চেক করা হয়েছে।এনামে আপনি ফিল্ড, কনস্ট্রাক্টর এবং মেথড ব্যবহার করতে পারেন। এতে করে এনাম কনস্ট্যান্টের জন্য অতিরিক্ত ডেটা যোগ করা সম্ভব হয়।
enum Day {
SUNDAY("Weekend"), MONDAY("Workday"), TUESDAY("Workday"), WEDNESDAY("Workday"),
THURSDAY("Workday"), FRIDAY("Workday"), SATURDAY("Weekend");
private String typeOfDay;
// Constructor
Day(String typeOfDay) {
this.typeOfDay = typeOfDay;
}
// Method
public String getTypeOfDay() {
return this.typeOfDay;
}
}
public class EnumExample {
public static void main(String[] args) {
Day today = Day.MONDAY;
System.out.println(today + " is a " + today.getTypeOfDay());
}
}
Output:
MONDAY is a Workday
Day
এনামে typeOfDay
নামের একটি ফিল্ড রয়েছে, যা প্রতিটি কনস্ট্যান্টের সাথে যুক্ত থাকে।getTypeOfDay()
মেথড ব্যবহার করে প্রতিটি দিনের টাইপ পাওয়া যায়।Java এ, আপনি একটি for-each
লুপ ব্যবহার করে এনামের সমস্ত কনস্ট্যান্ট পেতে পারেন।
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Iterating through enum values
for (Day day : Day.values()) {
System.out.println(day);
}
}
}
Output:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
Day.values()
মেথডটি এনামের সমস্ত কনস্ট্যান্ট প্রদান করে, এবং for-each
লুপে তাদের উপস্থাপন করা হয়।এনামের কনস্ট্যান্টগুলিকে ==
অপারেটর বা compareTo()
মেথড দিয়ে তুলনা করা যেতে পারে।
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
Day today = Day.MONDAY;
if (today == Day.MONDAY) {
System.out.println("It's Monday!");
}
// Using compareTo
int comparison = today.compareTo(Day.FRIDAY);
System.out.println("Comparison result: " + comparison); // Negative value because MONDAY comes before FRIDAY
}
}
Output:
It's Monday!
Comparison result: -4
==
অপারেটর এনাম কনস্ট্যান্টগুলির তুলনা করতে ব্যবহৃত হয়।compareTo()
মেথডটি এনাম কনস্ট্যান্টগুলির মধ্যে একটি লেক্সিকোগ্রাফিক্যাল কম্প্যারিজন করে, এবং একটি নেতিবাচক, শূন্য অথবা ধনাত্মক মান রিটার্ন করে।values()
, valueOf()
, ordinal()
ইত্যাদি।switch
স্টেটমেন্টের মধ্যে সরাসরি ব্যবহার করা যায়, যা কোডকে আরও পরিষ্কার এবং সহজ করে তোলে।Java তে Enum হল একটি শক্তিশালী এবং কার্যকরী ফিচার যা ফিক্সড সেট কনস্ট্যান্টের জন্য ব্যবহৃত হয়। এটি কোডের রিডেবিলিটি এবং মেইনটেইনেবিলিটি উন্নত করে এবং type safety প্রদান করে, যার ফলে ত্রুটি কম হয়। এনাম বিভিন্ন কাজের জন্য উপযোগী, যেমন ডে অফ উইক, মুড, মাস, স্টেটাস কনস্ট্যান্ট ইত্যাদি।
Java 5 থেকে Enum (এনাম) ক্লাস Java ভাষায় যুক্ত করা হয়েছে। এটি একটি বিশেষ ক্লাস যা পূর্বনির্ধারিত এবং সীমিত মানের একটি গ্রুপকে প্রতিনিধিত্ব করে। Enum ক্লাসটি প্রাথমিকভাবে স্থিতিশীল, নির্দিষ্ট মানের একটি সেট (যেমন, সপ্তাহের দিন, মাস, ট্রাফিক সিগনাল ইত্যাদি) নির্ধারণ করার জন্য ব্যবহৃত হয়।
Enum ক্লাসের মূল সুবিধা হল:
switch
কেস স্টেটমেন্টে enum
ব্যবহার করা খুব সহজ।Java তে Enum ডিফাইন করার জন্য একটি নতুন enum
কিওয়ার্ড ব্যবহার করা হয়। এর সাদৃশ্য সাধারণ ক্লাস ডিফাইন করার মতোই, তবে কিছু বিশেষত্ব রয়েছে। enum
এর মধ্যে কেবলমাত্র সুনির্দিষ্ট মান থাকতে পারে।
enum EnumName {
CONSTANT_1, CONSTANT_2, CONSTANT_3; // enum constants
}
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Accessing enum constants
Day today = Day.MONDAY;
// Using switch case with enum
switch (today) {
case MONDAY:
System.out.println("Start of the week!");
break;
case FRIDAY:
System.out.println("End of the week!");
break;
default:
System.out.println("Middle of the week.");
}
}
}
Output:
Start of the week!
values()
এবং valueOf()
এর মতো মেথড ব্যবহার করতে পারেন যা enum এর সাথে সম্পর্কিত কাজ সহজ করে।values()
Methodvalues()
মেথড একটি অ্যারে রিটার্ন করে, যা enum এর সমস্ত কনস্ট্যান্ট ধারণ করে।উদাহরণ:
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using values() method to loop through enum constants
for (Day day : Day.values()) {
System.out.println(day);
}
}
}
Output:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
valueOf()
MethodvalueOf()
মেথডটি একটি স্ট্রিং প্যারামিটার নিয়ে, সে স্ট্রিংয়ের মানের সাথে মেলে এমন enum constant রিটার্ন করে।উদাহরণ:
public class EnumExample {
public static void main(String[] args) {
Day today = Day.valueOf("MONDAY");
System.out.println("Today is: " + today);
}
}
Output:
Today is: MONDAY
উদাহরণ:
public enum Day {
MONDAY("Start of the week"),
TUESDAY("Second day"),
WEDNESDAY("Middle of the week"),
THURSDAY("Almost weekend"),
FRIDAY("End of the work week"),
SATURDAY("Weekend"),
SUNDAY("Rest day");
private String description;
// Constructor
Day(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}
public class EnumExample {
public static void main(String[] args) {
for (Day day : Day.values()) {
System.out.println(day + ": " + day.getDescription());
}
}
}
Output:
MONDAY: Start of the week
TUESDAY: Second day
WEDNESDAY: Middle of the week
THURSDAY: Almost weekend
FRIDAY: End of the work week
SATURDAY: Weekend
SUNDAY: Rest day
enum
ব্যবহার করে switch
statement খুবই কার্যকরী, কারণ প্রতিটি enum
কনস্ট্যান্ট একটি distinct মান ধারণ করে যা switch
কেসের মধ্যে ব্যবহার করা যায়।উদাহরণ:
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumSwitchExample {
public static void main(String[] args) {
Day today = Day.MONDAY;
switch (today) {
case MONDAY:
System.out.println("Start of the week!");
break;
case FRIDAY:
System.out.println("End of the week!");
break;
case SATURDAY:
case SUNDAY:
System.out.println("Weekend!");
break;
default:
System.out.println("Mid-week!");
}
}
}
Output:
Start of the week!
enum
সাধারণত switch
স্টেটমেন্টের মধ্যে ব্যবহৃত হয়, যেখানে একাধিক ক্ষেত্রে নির্দিষ্ট মানের উপর ভিত্তি করে লজিক করা হয়।Enum
ক্লাস Java-র একটি শক্তিশালী বৈশিষ্ট্য যা predefined constants গুলি পরিচালনা করার জন্য ব্যবহৃত হয়। এটি আপনার কোডে নিরাপত্তা, পাঠযোগ্যতা, এবং ম্যানটেনেবিলিটি বাড়ায়। যখন আপনার কোডে fixed set of values থাকে, তখন Enum একটি খুবই কার্যকরী এবং সুবিধাজনক উপায় হয়ে ওঠে।
Enum
Java-তে একটি বিশেষ ক্লাস যা একটি নির্দিষ্ট সংখ্যক কনস্ট্যান্ট ভ্যালু ধারণ করে। এটি Java 5 থেকে Java.lang.Enum ক্লাসের মাধ্যমে ইমপ্লিমেন্ট করা হয়েছে এবং এটি প্রোগ্রামিংয়ে ডেটার সীমাবদ্ধ সেট তৈরি করতে ব্যবহৃত হয়। Enums ব্যবহার করে নির্দিষ্ট সংখ্যক অবজেক্ট তৈরি করা যায় এবং সেই অবজেক্টগুলোর মধ্যে সিলেকশন করতে সুবিধা হয়।
Enum ক্লাসে কিছু বিশেষ মেথড রয়েছে, যা Java Enums ব্যবহার করার সময় সহায়ক। এই মেথডগুলো হল:
values()
valueOf()
ordinal()
এগুলি Enum
ক্লাস দ্বারা প্রদান করা হয় এবং এগুলি ব্যবহার করা খুবই সাধারণ।
values()
Method:values()
মেথড একটি Enum
ক্লাসের সব কনস্ট্যান্টকে একটি অ্যারে হিসেবে রিটার্ন করে। এটি একটি static method যা আপনার Enum
ক্লাসের সমস্ত কনস্ট্যান্টকে একত্রিত করে একটি অ্যারে প্রদান করে, যাতে আপনি তাদের উপর লুপ চালাতে পারেন।
public static T[] values()
Enum
টাইপের কনস্ট্যান্ট।enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using values() to get all constants of the Day enum
Day[] days = Day.values();
for (Day day : days) {
System.out.println(day);
}
}
}
Output:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
ব্যাখ্যা:
Day.values()
সমস্ত Day
enum কনস্ট্যান্টকে একটি অ্যারে হিসেবে রিটার্ন করেছে, এবং সেই অ্যারের উপরে লুপ চালিয়ে আমরা সমস্ত Day
কনস্ট্যান্ট দেখতে পেয়েছি।valueOf()
Method:valueOf()
মেথড একটি স্ট্যাটিক মেথড যা একটি স্ট্রিং ইনপুট গ্রহণ করে এবং সেই নামের সাথে মেলে এমন Enum
কনস্ট্যান্ট রিটার্ন করে। যদি স্ট্রিংটি কোনও কনস্ট্যান্টের সাথে মেলেনা, তবে এটি IllegalArgumentException
ছুঁড়ে দেয়।
public static T valueOf(String name)
Enum
কনস্ট্যান্টের নাম যা স্ট্রিং হিসেবে দেওয়া হয়।Enum
টাইপের কনস্ট্যান্ট।enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using valueOf() to get the enum constant
Day day = Day.valueOf("MONDAY");
System.out.println(day); // Output: MONDAY
}
}
Output:
MONDAY
ব্যাখ্যা:
Day.valueOf("MONDAY")
মেথডটি "MONDAY"
স্ট্রিং এর সাথে মিল রেখে Day
enum থেকে MONDAY
কনস্ট্যান্ট রিটার্ন করেছে।Note: যদি "MONDAY"
স্ট্রিং এর কোন কনস্ট্যান্ট না থাকে, তাহলে এটি IllegalArgumentException
ছুঁড়ে দেবে।
ordinal()
Method:ordinal()
মেথড একটি ইনস্ট্যান্স মেথড যা Enum
কনস্ট্যান্টের আছানোর অবস্থান রিটার্ন করে। অর্থাৎ, এটি Enum
কনস্ট্যান্টের ইনডেক্স বা পজিশন রিটার্ন করে, যা 0 থেকে শুরু হয়। এটি একটি int
ভ্যালু রিটার্ন করে।
public int ordinal()
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
public class EnumExample {
public static void main(String[] args) {
// Using ordinal() to get the position of the enum constant
Day day = Day.WEDNESDAY;
System.out.println(day + " is at position " + day.ordinal());
}
}
Output:
WEDNESDAY is at position 3
ব্যাখ্যা:
Day.WEDNESDAY.ordinal()
মেথডটি WEDNESDAY
কনস্ট্যান্টের অবস্থান রিটার্ন করেছে, যা 3 (এবং ordinal()
0 থেকে গোনা শুরু হয়)।values()
, valueOf()
, ordinal()
মেথডের কার্যকারিতা:Method | Purpose | Return Type |
---|---|---|
values() | সমস্ত Enum কনস্ট্যান্টের অ্যারে রিটার্ন করে | T[] (Array) |
valueOf() | স্ট্রিং নাম দিয়ে একটি নির্দিষ্ট Enum কনস্ট্যান্ট রিটার্ন করে | T (Enum constant) |
ordinal() | Enum কনস্ট্যান্টের অবস্থান বা ইনডেক্স রিটার্ন করে | int (Position index) |
Java-তে Enum
ক্লাসের values()
, valueOf()
, এবং ordinal()
মেথডগুলি Enum
কনস্ট্যান্টের সাথে কাজ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
values()
আপনাকে একটি Enum
এর সমস্ত কনস্ট্যান্ট একত্রে অ্যারে আকারে প্রদান করে।valueOf()
স্ট্রিং এর মাধ্যমে একটি নির্দিষ্ট কনস্ট্যান্ট রিটার্ন করে।ordinal()
কনস্ট্যান্টের অবস্থান বা ইনডেক্স রিটার্ন করে, যা অ্যারের ইনডেক্সের মতো কাজ করে।এই তিনটি মেথড Enum
ক্লাসের কার্যক্ষমতা এবং দক্ষতা বৃদ্ধি করে, এবং Java প্রোগ্রামিংয়ে Enum
ব্যবহারের সুবিধা নিশ্চিত করে।
Enum (enumeration) হল একটি বিশেষ ধরনের class যা একটি নির্দিষ্ট সংখ্যক কনস্ট্যান্ট ভ্যালু ধারণ করে। Java 5 থেকে enum প্রবর্তিত হয়েছে এবং এটি java.lang
প্যাকেজে অন্তর্ভুক্ত। Enum ব্যবহার করা হয় বিভিন্ন প্রকারের কনস্ট্যান্ট (যেমন দিন, মাস, ট্রান্সপোর্ট মুড ইত্যাদি) ম্যানেজ করতে এবং কোডে এর ব্যবহার আরও স্পষ্ট, নিরাপদ ও সুসংগঠিত করতে।
Enum একটি স্পেশাল ক্লাস যার মধ্যে পূর্বনির্ধারিত কনস্ট্যান্ট ভ্যালু থাকে, এবং এগুলি সাধারণ ক্লাসের মতো ফিল্ড, মেথড, কন্সট্রাক্টর ইত্যাদি ধারণ করতে পারে। Enum ব্যবহারের মাধ্যমে আপনি কনস্ট্যান্ট ভ্যালুগুলিকে আরও সুসংগঠিত এবং নিরাপদভাবে পরিচালনা করতে পারেন, এবং type-safe কনস্ট্যান্ট ব্যবহার নিশ্চিত করতে পারেন।
enum EnumName {
CONSTANT1, CONSTANT2, CONSTANT3; // Enum constants
}
values() Method:
values()
মেথডটি সমস্ত Enum কনস্ট্যান্টগুলির একটি অ্যারে রিটার্ন করে। এটি Enum
ক্লাসের একটি অ্যাবস্ট্রাক্ট মেথড যা প্রতিটি Enum ক্লাসে ডিফল্টভাবে উপস্থিত থাকে।Syntax:
public static EnumName[] values()
Example:
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
for (Day day : Day.values()) {
System.out.println(day);
}
}
}
Output:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
valueOf() Method:
valueOf()
মেথডটি একটি স্ট্রিং ইনপুট নিয়ে, সেই স্ট্রিংয়ের সাথে মেলে এমন Enum কনস্ট্যান্ট রিটার্ন করে। যদি স্ট্রিংটি কোন Enum কনস্ট্যান্টের সাথে মেলে না, তবে এটি IllegalArgumentException ছুঁড়ে দেয়।Syntax:
public static EnumName valueOf(String name)
Example:
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
Day day = Day.valueOf("MONDAY"); // Using valueOf() method
System.out.println(day); // Output: MONDAY
}
}
Output:
MONDAY
Note: যদি আপনি একটি অশুদ্ধ Enum constant ব্যবহার করেন (যেমন valueOf("HOLIDAY")
), তবে এটি IllegalArgumentException
ছুঁড়ে দিবে।
ordinal() Method:
ordinal()
মেথডটি একটি Enum কনস্ট্যান্টের অবস্থান রিটার্ন করে (অর্থাৎ, Enum তালিকার মধ্যে তার অবস্থান)। ordinal()
রিটার্ন করে একটি 0-based index। অর্থাৎ প্রথম কনস্ট্যান্টের জন্য এটি 0, দ্বিতীয় কনস্ট্যান্টের জন্য এটি 1, এবং এর পরবর্তী কনস্ট্যান্টের জন্য সেরকমভাবে ইন্ডেক্স রিটার্ন হয়।Syntax:
public int ordinal()
Example:
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
Day day = Day.MONDAY;
System.out.println("The ordinal value of " + day + " is: " + day.ordinal());
}
}
Output:
The ordinal value of MONDAY is: 0
Enum ব্যবহার করার উদাহরণ: যদি আপনি কোন নির্দিষ্ট দিনের জন্য কনস্ট্যান্ট ভ্যালু ব্যবহার করতে চান, তাহলে Enum ব্যবহার করা অনেক ভালো। উদাহরণস্বরূপ, সপ্তাহের দিনগুলির জন্য একটি Enum তৈরি করতে পারেন:
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class EnumExample {
public static void main(String[] args) {
Day today = Day.MONDAY;
switch (today) {
case MONDAY:
System.out.println("Start of the work week.");
break;
case FRIDAY:
System.out.println("End of the work week.");
break;
default:
System.out.println("Mid-week.");
break;
}
}
}
Output:
Start of the work week.
values()
, valueOf()
, এবং ordinal()
মেথডগুলো Enum-এর কনস্ট্যান্টগুলির সাথে কাজ করতে সহজ করে তোলে, এবং কনস্ট্যান্ট ম্যানেজমেন্ট আরও সহজ ও সুবিধাজনক করে দেয়।Read more