Если он выберет более двух, должно отобразиться сообщение об ошибке.
Я бы хотел сделайте это, используя потоки Java. Я все еще пытаюсь понять, как они работают.
На данный момент я придумал этот фрагмент кода:
Код: Выделить всё
public enum UserSkills {
HARD_WORKNG("HARD_WORKNG"),
ON_TIME("ON_TIME"),
HONEST("HONEST");
public final String value;
UserSkills(String value) {
this.value = value;
}
@Override
public String toString() {
return name() + "[" + value + "]";
}
public static List < UserSkills > of (String userSkills) {
notNull(userSkills, "userSkills cannot be null");
return Arrays.stream(values())
.flatMap(s - > {
if (values().length > 3) {
throw new IllegalArgumentException(String.format("you can only choose up to 3 user skills", userSkills));
} else {
}
}).collect(Collectors.toList());
}
}
Подробнее здесь: https://stackoverflow.com/questions/696 ... va-streams