У меня есть массив строкмассив строк к нескольким объектам
String[] weekDays
будние дни представляет дни недели. для например
{1, 2, 4} means Monday, Tuesday, Thusday
{2,5,6,7} means Tuesday, Friday, Saturday, Sunday
У меня есть семь булевых, представляющие 7 дней недели и должен установить истинные или ложными на основе будней.
Мой код
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);
}
}
}
Но это так много, если другого заявления и перед выполнением этого я явно установить все булевы ложными. Есть ли другой простой способ сделать то же самое? Любое предложение ??
+1 для показа усилий. Я хотел бы посмотреть, что, например, делает setTunday. Мне кажется, что эти функции «set ..» могут быть излишне специфичными для каждого дня. Если вы можете передать метод «set ...» значение строки, и он делает XYZ, вы можете сделать все это с одной строкой кода, а не с if или switch. –
В основном в базе данных имеется 7 полей в течение семи дней, чтобы установить все эти поля, существует семь методов. –
Семь методов являются чрезмерными. Вы должны иметь возможность неявно ссылаться на эти поля БД на основе переданного значения и дополнительной информации о вашей схеме БД. Добавьте код ваших методов набора в OP. –