@ লাইলের উত্তরটি বরং বিপজ্জনক এবং আমি দেখেছি এটি কার্যকর হয় না বিশেষত যদি আপনি এনামকে একটি স্থিতিশীল অভ্যন্তর শ্রেণি করেন। পরিবর্তে আমি এই জাতীয় কিছু ব্যবহার করেছি যা এনামগুলিতে বুটস্ট্র্যাপসিংলেটনের মানচিত্র লোড করবে।
সম্পাদনা করুন এই একটা সমস্যা আধুনিক JVMs (জেভিএম 1.6 বা তার অধিক) সঙ্গে আর কোনো করা উচিত হবে না কিন্তু আমি মনে করি এখনও JRebel সঙ্গে বিষয় আছে কি কিন্তু আমি পুনঃপরীক্ষা এটি একটি সুযোগ ছিল না ।
আমাকে আগে লোড করুন:
public final class BootstrapSingleton {
// Reverse-lookup map for getting a day from an abbreviation
public static final Map<String, Day> lookup = new HashMap<String, Day>();
}
এখন এটি এনাম কনস্ট্রাক্টরে লোড করুন:
public enum Day {
MONDAY("M"), TUESDAY("T"), WEDNESDAY("W"),
THURSDAY("R"), FRIDAY("F"), SATURDAY("Sa"), SUNDAY("Su"), ;
private final String abbreviation;
private Day(String abbreviation) {
this.abbreviation = abbreviation;
BootstrapSingleton.lookup.put(abbreviation, this);
}
public String getAbbreviation() {
return abbreviation;
}
public static Day get(String abbreviation) {
return lookup.get(abbreviation);
}
}
যদি আপনার অভ্যন্তরীণ এনাম থাকে তবে আপনি কেবল এনাম সংজ্ঞাটির উপরে মানচিত্রটি সংজ্ঞায়িত করতে পারেন এবং এটি (তত্ত্ব অনুসারে) আগে লোড হওয়া উচিত।
stringMap
আরম্ভের নীচে নামার আগে তৈরি করা হয়)। স্বাভাবিক সমাধান হল নেস্টেড ক্লাস ব্যবহার করা।