Как проверить параметры конструктора на Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как проверить параметры конструктора на Java?

Сообщение Anonymous »

Допустим, мы используем Java SE (без библиотек) и имеем следующую ситуацию. У нас есть класс: < /p>

public class DriverInfo {
private final int age;

public DriverInfo(int age) {
this.age = age;
}

// getter here
}
< /code>

В некоторых странах существует требование, которое вы можете ездить, если вам 18 лет. Другими словами - нам нужно иметь некоторую проверку для Age параметра. Что -то вроде: < /p>

if (age < 18) {
throw new IllegalArgumentException("Age is not valid!");
}
< /code>

Итак, мой вопрос - где должна быть эта проверка? Мои мысли следующие: < /p>


В конструктор добавьте if () < /strong>, описанный выше. Валидация будет работать, если конструктор будет вызван из нескольких мест в вашем коде. Я обеспокоен тем, что классовые конструкторы должны (ИМХО) не содержать никакой логики. Я прав? Это не стандартная Java, но я видел, как люди делают это. Что касается меня, то это не выглядит правильно, потому что мы добавляем логику в конструктор - который не выглядит для меня. < /Li>
Любой другой хороший способ, который я пропустил? Кто -нибудь может предложить наилучшую практику, как справиться с описанной ситуацией, обитаем?

Подробнее здесь: https://stackoverflow.com/questions/493 ... rs-on-java

Вернуться в «JAVA»