Итак, у меня есть функция, которая форматирует дату, чтобы принудить к указанному перечислению DateType {CURRENT, START, END} что было бы лучшим способом обработки возвращаемого значения в случаях, когда используется оператор switch
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
default:throw new ("Something strange happend");
}
}
ИЛИ выкинуть эксклюзию в конце
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
}
//It will never reach here, just to make compiler happy
throw new IllegalArgumentException("Something strange happend");
}
ИЛИ вернуть null
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
}
return null;
}
Какая была бы лучшая практика здесь? Также все значения перечисления будут обрабатываться в случае case