我遇到了一个问题,我不允许使用switch/case或if/else查询.
我得到了一个配置文件,我读到了这个:
650;0;1.5;month
614;0;2.88;year
466;0;2.48;week
716;0;4.6;half-year
718;0;2.6;quarter
Run Code Online (Sandbox Code Playgroud)
我将这些字符串拆分为";",因此将其保存在数组中.我遇到的问题是,我需要在代码中为代码中的其他内容执行其他操作ar [3],所以如果是一个月我还需要其他计算,那么当它是一整年时.
但我不允许用Switch/case或If/Else这样做,现在我感到困惑.
If (ar[3] = month){
do this;
else if (ar[3] = year) {
do this;
}
Run Code Online (Sandbox Code Playgroud)
我如何做这个面向对象?谢谢你的每一个帮助:)
我有我想要的问题,需要摆脱一些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());
}
Run Code Online (Sandbox Code Playgroud)
这三个类WeekThreshold,MonthThreshold并YearThreshold从AbstractThreshold他们从日历中获取日期的类延伸,但这并不重要.方法quarterThreshold()很特别,可以留在那里.但是,我怎样才能摆脱那个if else块并有一个语句来调用不同的类?
编辑:忘记提及,需要调用的类来自各种数组ar[].如果数组ar[4]是月份,则MonthThreshold必须调用等.