मेरे पास दो अलग-अलग enums हैं और मैं आउटपुट करने में सक्षम होना चाहता हूं कि दिया गया स्ट्रिंग एक enum संग्रह का हिस्सा है।यह जांचने के लिए कि क्या दिया गया स्ट्रिंग जावा में दिए गए एनम का हिस्सा है या नहीं?
public class Check {
public enum Filter{SIZE, DATE, NAME};
public enum Action{COPY, DELETE, REMOVE};
public boolean isInEnum(String value, Enum e){
// check if string value is a part of a given enum
return false;
}
public void main(){
String filter = "SIZE";
String action = "DELETE";
// check the strings
isInEnum(filter, Filter);
isInEnum(action, Action);
}
}
ग्रहण का कहना है कि अंतिम दो पंक्तियों में लेकिन अलग से ऐसा लगता है कि "फिल्टर एक चर को हल नहीं किया जा सकता है" कि समारोह "isInEnum" में Enum परम गलत है: यह मेरा कोड है ।
कोई भी बहुत गलत है यहां कोई मदद कर सकता है?
public <E extends Enum<E>> boolean isInEnum(String value, Class<E> enumClass) {
for (E e : enumClass.getEnumConstants()) {
if(e.name().equals(value)) { return true; }
}
return false;
}
और फिर आप isInEnum(filter, Filter.class)
फोन:
आपको यह सही मिला है :) enum सिर्फ एक नियमित वर्ग है, आप इसके नाम का उल्लेख नहीं कर सकते हैं। Enum mebers उनके enum के उदाहरण हैं, पूरी तरह से enum नहीं। –