Метод checkValidValue
Метод checkValidValue класса ValueRange проверяет, находится ли переданное значение в пределах допустимого диапазона.
Если значение находится в диапазоне, метод возвращает это значение.
Если значение выходит за пределы диапазона, выбрасывается исключение DateTimeException.
В параметр метода передается значение типа Long для проверки.
Импорт
import java.time.temporal.ValueRange
import java.time.DateTimeException
Синтаксис
fun checkValidValue(value: Long, field: TemporalField?): Long
Пример
Создадим диапазон значений от 1 до 31 и проверим допустимость значения 15:
val range = ValueRange.of(1, 31)
val value = 15L
val res = range.checkValidValue(value, null)
println("Valid value: $res")
Результат выполнения кода:
String "Valid value: 15"
Пример
Попытаемся проверить значение 50, которое выходит за пределы диапазона:
val 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)
}
Результат выполнения кода:
String "Error: Invalid value for field: 50"
Пример
Проверим несколько значений в диапазоне месяцев от 1 до 12:
val 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)
}
}
Результат выполнения кода:
String "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,
который представляет диапазон допустимых значений