Метод checkValidValue

Метод checkValidValue класса ValueRange проверяет, находится ли переданное значение в пределах допустимого диапазона. Если значение находится в диапазоне, метод возвращает это значение. Если значение выходит за пределы диапазона, выбрасывается исключение DateTimeException. В параметр метода передается значение типа Long для проверки.

Импорт

kotlinimport java.time.temporal.ValueRange
import java.time.DateTimeException

Синтаксис

kotlinfun checkValidValue(value: Long, field: TemporalField?): Long

Пример

Создадим диапазон значений от 1 до 31 и проверим допустимость значения 15:

kotlinval range = ValueRange.of(1, 31)
val value = 15L
val res = range.checkValidValue(value, null)
println("Valid value: $res")

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

kotlinString "Valid value: 15"

Пример

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

kotlinval range = ValueRange.of(1, 31)
val value = 50L

try {
  val res = range.checkValidValue(value, null)
  println("Valid value: $res")
} catch (e: DateTimeException) {
  println("Error: " + e.message)
}

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

kotlinString "Error: Invalid value for field: 50"

Пример

Проверим несколько значений в диапазоне месяцев от 1 до 12:

kotlinval monthRange = ValueRange.of(1, 12)
val values = listOf(1L, 6L, 12L, 15L)

for (value in values) {
  try {
    val res = monthRange.checkValidValue(value, null)
    println("Value $value is valid: $res")
  } catch (e: DateTimeException) {
    println("Value $value is invalid: " + e.message)
  }
}

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

kotlinString "Value 1 is valid: 1"
String "Value 6 is valid: 6"
String "Value 12 is valid: 12"
String "Value 15 is invalid: Invalid value for field: 15"

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

  • метод isValidValue класса ValueRange,
    который проверяет допустимость значения без выброса исключения
  • метод checkValidValue класса ChronoField,
    который проверяет значения для временных полей
  • метод of класса ValueRange,
    который создает диапазон значений
  • класс ValueRange,
    который представляет диапазон допустимых значений