Стажировка
Открыта запись на бесплатный пробный месяц! Жми для подробностей! →
1156 of 1310 menu
По вашим просьбам сделал СВЕЖУЮ ОФЛАЙН ВЕРСИЮ номер 4 (временную). Рекомендую скачать на случай проблем с доступностью сайта.

Класс 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,
    который представляет временные поля и их диапазоны значений