Как поставить ограничение на значение атрибутов Java - PullRequest
0 голосов
/ 21 сентября 2018

Пример:

public class Date {
 private int Day;
 private String Month;
 private int Year;
}

Как я могу сделать это для того, чтобы после установки даты возможные значения дня могли быть только от 1 до 31 и месяца с января по декабрь, и только эти значенияПринимается.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Так как поля являются частными, вы можете проверить правильность в установщиках.Например:

public void setMonth(int month) {
    if (month < 1 || month > 12) {
        throw new IllegalArgumentException(month + " is not a valid month. Month must be between 1 and 12 inclusive";
    }
    this.month = month;
}

Другим шаблоном является шаблон строителя, который имеет несколько разновидностей, в том числе:

public Date withMonth(int month) {
    if (month < 1 || month > 12) {
        throw new IllegalArgumentException(month + " is not a valid month. Month must be between 1 and 12 inclusive";
    }
    this.month = month;
    return this;
}

Преимущество вышеописанного заключается в создании объектов в одну строку:

Date myDate = new Date().withMonth(6).withDate(6).withYear(1976);

С другой стороны, принято начинать имена переменных с маленькой буквы и использовать верблюжий корпус.Имена классов начинаются с заглавной буквы, а константы (перечисления и статические финалы) должны быть в верхнем регистре с подчеркиванием, чтобы улучшить читаемость.

0 голосов
/ 21 сентября 2018

Я думаю, вы могли бы использовать JEE Bean Validation.Взгляните на документы :

Вы можете достичь желаемого, используя аннотации @Max и @Min

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...