我有一个字符串数组字符串数组多个对象
String[] weekDays
平日表示星期几。对于如
{1, 2, 4} means Monday, Tuesday, Thusday
{2,5,6,7} means Tuesday, Friday, Saturday, Sunday
我代表7天星期七个布尔和需要设置true或false平日的基础上。
我的代码
private static void setWeekDays(final Object object, final String[] weekDays) {
for (String day : weekDays) {
if(day.equalsIgnoreCase("1")) {
object.setMonday(true);
} else if(day.equalsIgnoreCase("2")) {
object.setTuesday(true);
} else if(day.equalsIgnoreCase("3")) {
object.setWednesday(true);
} else if(day.equalsIgnoreCase("4")) {
object.setThrusday(true);
} else if(day.equalsIgnoreCase("5")) {
object.setFriday(true);
} else if(day.equalsIgnoreCase("6")) {
object.setSaturday(true);
} else if(day.equalsIgnoreCase("7")) {
object.setSunday(true);
}
}
}
但它的if else语句和执行此我明确地将所有布尔是假的之前那么多。 有没有其他简单的方法来做同样的事情?任何建议?
+1表示努力。例如,我想看看'setSunday'是什么。它看起来像那些'set ..'功能可能对每一天都是不必要的。如果你可以传递一个'set ...'方法的字符串值,它可以完成所有的这一行代码,而不是if或switch。 –
基本上数据库中有7个字段相对于七天来设置所有这些字段有七种方法。 –
七种方法过多。您应该能够根据传递的值以及数据库模式的更多信息隐式引用这些数据库字段。将您设置的方法的代码添加到OP。 –