我怎样才能优化有很多切换案例?有没有其他方法可以做我想做的事情?如何优化很多开关盒?
我有一个时间滑块,这个滑块更新变量currentTime
与当前滑块所在的值(1-24),并调用updateTime()
方法。在这种方法中,我有1 - 24的开关情况(在这个例子中只有3个)。我可以用一种更简单的方法做到这一点,而不是制作24个开关盒?
private void updateTime() {
switch (currentTime) {
case 1:
hourlyData = weatherAPI.HourlyReport(1);
setHourlyData();
break;
case 2:
hourlyData = weatherAPI.HourlyReport(2);
setHourlyData();
break;
...
case 24:
hourlyData = weatherAPI.HourlyReport(24);
setHourlyData();
break;
default:
System.out.println("Oops");
break;
}
}
-
public Map HourlyReport(int hour) {
Hourly hourly = new Hourly(fio);
//In case there is no hourly data available
if (hourly.hours() < 0) {
System.out.println("No hourly data.");
} else {
hourlyData.put("Temp", hourly.getHour(hour).temperature()); // Temperature
hourlyData.put("TempFeel", hourly.getHour(hour).apparentTemperature()); // Feel Temperature
hourlyData.put("Humidity", hourly.getHour(hour).humidity()); // Humidity
hourlyData.put("WindSpeed", hourly.getHour(hour).windSpeed()); // Wind Speed
hourlyData.put("Precip", hourly.getHour(hour).precipProbability()); // Precipitation
hourlyData.put("TimeStamp", hourly.getHour(hour).time());// TimeStamp
}
return hourlyData;
}
哼,怎么样if(currentTime <1 || currentTime> 24){Oops} else { hourlyData = weatherAPI.HourlyReport(currentTime); }'? – Tunaki
无法理解你的问题是什么,上面的代码是做你想做的真正正确的方式 – SSH