Java

valueOf(), values() and compareTo() method in enumeration

enumeration
valueOf() and values() মেথোডের ব্যাবহারঃ
ইনামারেশন অটোমেটিকেলি পূর্বনির্ধারিত দুইটি মেথোড ধারণ করে থাকে।
values() and valueOf()
enum-type.values() = একটি এনামারেশনের সকল কন্সট্যান্ট কে ধারণ করে। একটি এরে হিসেবে তাদের রিটার্ন করে।
enum-type.valueOf() = একটি এনামারেশনের একটি কন্সট্যান্ট কে ধারণ করে সক্ষম। এটি কন্সট্যান্ট কে স্ট্রিং হিসেবে গ্রহণ করে।

public class EnumValueAndValueOf {
// একটি এনামারেশন
enum Apple {
Jonathan, GoldenDel, RedDel, Cortland
}

public static void main(String[] args) {
System.out.println( Apple.valueOf(“RedDel”) + ” is delicious”);
/* এখানে এটি value of ব্যাবহার করে RedDel কে স্ট্রিং হিসেবে গ্রহণ করেছে */
System.out.println();
/* নিচের ফর লুপে ap এর মাঝে Apple নামক এনামের সকল কন্সট্যান্ট নিযুক্ত করা হয়েছে। এই লুপ একেবারে সকল ভেলু শেষ না হওয়া পর্যন্ত চলতে থাকে। এই লুপের কাজ না জানা না থাকলে পূর্বের পোস্ট দেখার অনুরোধ রইলো*/
System.out.println(“All apple is here: “);
for(Apple ap : Apple.values()) {
System.out.println(ap);
}
}

}
output:

RedDel is delicious

All apple is here:
Jonathan
GoldenDel
RedDel
Cortland

Ordinal and compareTo method:

ordinal: এটা অনেকটা এনামারেশনের সিরিয়াল নাম্বার বা ইনক্রিজিং অর্ডারে তাদের পাওয়ার গুলো দেখিয়ে থাকে এটা বলতে পারি আমরা।
use type:
enum-type.constant.ordinal()
compareTo: এটা এনামের দুইটি কন্সট্যান্টের মাঝে তুলনা করে থাকে।
use type:
enum-type.constant/variable.compareTo(enum-type.constant/variable)
প্রথমটি যদি দ্বিতীয়টি থেকে বড় হয়, অর্থাৎ তাদের ordinal এর পার্থক্য বড় হয় তাহলে সেটি জিরো থেকে বড় ভেলু রিটার্ন করবে।
সমান হলে জিরোর সমান ভেলু আর ছোট হলে জিরোর চেয়ে ছোট ভেলু রিটার্ন করে থাকে।

public class EnumOrdinalAndCompareTo {
enum Apple {
Jonathan, GoldenDel, RedDel, Cortland
}

public static void main(String[] args) {
// This shows their serial no or may be power increasingly . just my opinion
for(Apple x : Apple.values()) {
System.out.println(x + ” : ” + x.ordinal());
}

// Now we comparing enum

if(Apple.GoldenDel.compareTo(Apple.Jonathan) > 0)
System.out.println(“GoldenDel comes after jonathan”);
else System.out.println(“GoldenDel comes before jonathan”);

Apple ap = Apple.valueOf(“RedDel”);

if(Apple.RedDel.equals(ap))
System.out.println(“ap and RedDel are equal”);
}

}

compareTo() and equals() method এর কাজ একই।
output:
Jonathan : 0
GoldenDel : 1
RedDel : 2
Cortland : 3
GoldenDel comes after jonathan
ap and RedDel are equal

০, ১, ২, ৩ হচ্ছে কন্সট্যান্টের অরডিনাল ভেলু।

Leave a Reply

Your email address will not be published.

12 + 4 =