Класс ValueRange
Класс ValueRange используется для определения допустимого диапазона значений для временных полей в API даты и времени.
Он содержит минимальное и максимальное значение, а также информацию о том, является ли диапазон фиксированным.
Этот класс особенно полезен при валидации временных значений и определении границ для таких полей, как день месяца, который может варьироваться от 1 до 28, 29, 30 или 31 в зависимости от месяца и года.
Импорт
import java.time.temporal.ValueRange
Синтаксис
val range = ValueRange.of(min: Long, max: Long): ValueRange
val range = ValueRange.of(min: Long, maxSmallest: Long, maxLargest: Long): ValueRange
val range = ValueRange.of(min: Long, minSmallest: Long, minLargest: Long, max: Long): ValueRange
Пример
Создадим простой диапазон значений от 1 до 31:
val dayRange = ValueRange.of(1, 31)
println("Min: " + dayRange.minimum)
println("Max: " + dayRange.maximum)
Результат выполнения кода:
Long 1
Long 31
Пример
Проверим, является ли значение 15 допустимым в диапазоне:
val range = ValueRange.of(1, 31)
val isValid = range.isValidValue(15)
println("Is 15 valid: $isValid")
Результат выполнения кода:
Boolean true
Пример
Проверим, является ли значение 35 допустимым в диапазоне:
val range = ValueRange.of(1, 31)
val isValid = range.isValidValue(35)
println("Is 35 valid: $isValid")
Результат выполнения кода:
Boolean false
Пример
Создадим диапазон с разными минимальными и максимальными границами:
val range = ValueRange.of(1, 28, 31)
println("Minimum: " + range.minimum)
println("Smallest maximum: " + range.smallestMaximum)
println("Largest maximum: " + range.largestMaximum)
Результат выполнения кода:
Long 1
Long 28
Long 31
Пример
Получим диапазон значений для дня февраля 2025 года:
import java.time.YearMonth
val feb2025 = YearMonth.of(2025, 2)
val dayRange = feb2025.range(ChronoField.DAY_OF_MONTH)
println("February 2025 day range: " + dayRange.minimum + " to " + dayRange.maximum)
Результат выполнения кода:
String "February 2025 day range: 1 to 28"
Смотрите также
-
функцию
rangeклассаChronoField,
которая возвращает диапазон значений для временного поля -
функцию
rangeклассаYearMonth,
которая возвращает диапазон значений для указанного поля -
функцию
rangeклассаLocalDate,
которая возвращает допустимый диапазон значений для указанного поля -
класс
ChronoField,
который представляет временные поля и их диапазоны значений