НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1103 of 1310 menu

Метод checkValidIntValue

Метод checkValidIntValue класса ChronoField проверяет, что переданное целое число находится в допустимом диапазоне значений для данного поля временной шкалы. В первый параметр мы передаем целочисленное значение для проверки, во второй параметр мы передаем объект временной единицы, для которого выполняется проверка. Метод возвращает проверенное значение, если оно допустимо, или выбрасывает исключение DateTimeException, если значение выходит за пределы допустимого диапазона.

Импорт

import java.time.temporal.ChronoField import java.time.DateTimeException

Синтаксис

int checkValidIntValue(long value)
int checkValidIntValue(long value, TemporalUnit unit)

Пример

Проверим допустимость значения 12 для поля ChronoField.HOUR_OF_DAY:

val value = 12L val res = ChronoField.HOUR_OF_DAY.checkValidIntValue(value) println("Valid value: $res")

Результат выполнения кода:

String "Valid value: 12"

Пример

Попытаемся проверить недопустимое значение 25 для поля ChronoField.HOUR_OF_DAY:

try { val value = 25L val res = ChronoField.HOUR_OF_DAY.checkValidIntValue(value) println("Valid value: $res") } catch (e: DateTimeException) { println("Error: ${e.message}") }

Результат выполнения кода:

String "Error: Invalid value for HourOfDay (valid values 0 - 23): 25"

Пример

Проверим допустимость значения дня месяца для февраля високосного года:

val dayValue = 29L val res = ChronoField.DAY_OF_MONTH.checkValidIntValue(dayValue) println("Valid day: $res")

Результат выполнения кода:

String "Valid day: 29"

Пример

Проверим несколько значений для различных временных полей:

val values = mapOf( ChronoField.MINUTE_OF_HOUR to 30L, ChronoField.SECOND_OF_MINUTE to 45L, ChronoField.MONTH_OF_YEAR to 6L ) for ((field, value) in values) { try { val res = field.checkValidIntValue(value) println("${field.name}: $res - valid") } catch (e: DateTimeException) { println("${field.name}: $value - invalid") } }

Результат выполнения кода:

String "MINUTE_OF_HOUR: 30 - valid" String "SECOND_OF_MINUTE: 45 - valid" String "MONTH_OF_YEAR: 6 - valid"

Смотрите также

  • метод checkValidValue класса ChronoField,
    который проверяет long-значение для временного поля
  • метод checkValidIntValue класса ValueRange,
    который проверяет целочисленное значение в диапазоне
  • поле HOUR_OF_DAY класса ChronoField,
    которое представляет час дня
  • поле DAY_OF_MONTH класса ChronoField,
    которое представляет день месяца
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить