我有我想要的问题,需要摆脱一些if else案例.我在我的项目中得到以下代码:
if (ar[4].equals("week")) {
WeekThreshold wt = new WeekThreshold();
firstTime = unparsedDate.format(wt.getStartDate().getTime());
secondTime = unparsedDate.format(wt.getEndDate().getTime());
} else if (ar[4].equals("month")) {
MonthThreshold mt = new MonthThreshold();
firstTime = unparsedDate.format(mt.getStartDate().getTime());
secondTime = unparsedDate.format(mt.getEndDate().getTime());
} else if (ar[4].equals("quarter")) {
quarterThreshold();
} else if (ar[4].equals("year")) {
YearThreshold yt = new YearThreshold();
firstTime = unparsedDate.format(yt.getStartDate().getTime());
secondTime = unparsedDate.format(yt.getEndDate().getTime());
}
WeekThreshold,MonthThreshold和YearThreshold这三个类从AbstractThreshold类扩展,它们从日历中获取日期,但这并不重要.方法quarterThreshold()是特殊的,可以保留在那里.但是,我怎样才能摆脱那个if else块并有一个语句来调用不同的类?
编辑:忘记提及,需要调用的类来自各种数组ar [].如果数组ar [4]是月,则必须调用MonthThreshold等.