引发异常与使用 switch 语句返回空值
2022-09-01 22:19:52
因此,我有一个函数,该函数格式化日期以强制为给定的枚举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");
}
OR 返回空值
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 语句中处理