आप अधिक कुशल मानेंगे?जावा एनम मूल्य दक्षता
public enum WeekDay {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY;
}
लूप के माध्यम से और सत्यापित करें दिन पहली स्ट्रिंग:
public void parseString(String line) {
String[] tokens = line.split();
String day = tokens[1]; // day 'should' always be a weekday
if (isValidWeekDay(day)) {
WeekDay weekDay = WeekDay.valueOf(day); // won't throw exception
...
} else {
throw new InvalidWeekDayException(day); // subclass of RuntimeException
}
}
private boolean isValidWeekDay(String day) {
for (WeekDay weekDay : WeekDay.values()) {
if(weekDay.toString().equals(day))
return true;
}
return false;
}
या मामलों की 99.99% में के बाद से, दिन सही हो जाएगा
'काम करने के दिन' का उपयोग सिर्फ एक उदाहरण है:
public void parseString(String line) {
String[] tokens = line.split();
String day = tokens[1]; // day 'should' always be a weekday
try {
WeekDay weekDay = WeekDay.valueOf(day); // might throw exception
...
} catch (IllegalArgumentException e) {
throw new InvalidWeekDayException(day, e);
}
}
अद्यतन:
स्पष्टीकरण के लिए, इनपुट स्ट्रिंग उपयोगकर्ता के बजाए क्लाइंट एप्लिकेशन से आएगी। तो दूसरे शब्दों में, यह इस उदाहरण में एक गैर कार्यदिवस प्राप्त करने के लिए एक बग होगा।
यह एक मुखर उत्तर की तरह लग सकता है, लेकिन मैं सबसे तेज़ दौड़ने पर विचार करता हूं जब मैंने इसे सबसे कुशल माना। –
क्या स्ट्रिंग किसी उपयोगकर्ता से प्रवेश करता है, या यह आंतरिक रूप से आ रहा है? – DHall
मैं इसके बजाय इसका उपयोग करूंगा, अगर आप वास्तव में सप्ताह के दिनों में enum कर रहे हैं: http://joda-time.sourceforge.net/field.html#dayOfWeek – NimChimpsky