Spec-Zone.ru › OpenJDK 25

Класс ValueRange

java.lang.Object
java.time.temporal.ValueRange
Все реализуемые интерфейсы:
Serializable
public final class ValueRange extends Object implements Serializable
Диапазон допустимых значений для поля даты и времени.

Все экземпляры TemporalField имеют допустимый диапазон значений. Например, день месяца в ISO может принимать значения от 1 до числа от 28 до 31. Этот класс описывает такой допустимый диапазон.

Важно учитывать ограничения этого класса. В нём указаны только минимальное и максимальное значения. Внутри внешнего диапазона могут быть недопустимые значения. Например, у необычного поля допустимыми могут быть значения 1, 2, 4, 6, 7, то есть диапазон «1–7», несмотря на то, что значения 3 и 5 недопустимы.

Экземпляры этого класса не привязаны к конкретному полю.

Требования к реализации:
Этот класс является неизменяемым и потокобезопасным.
С версии:
1.8
См. также:
  • Сериализованная форма

Краткое описание методов

Модификатор и тип Метод Описание
int checkValidIntValue(long value, TemporalField field)
Проверяет, что указанное значение допустимо и помещается в int.
long checkValidValue(long value, TemporalField field)
Проверяет, что указанное значение допустимо.
boolean equals(Object obj)
Проверяет, равен ли этот диапазон другому диапазону.
long getLargestMinimum()
Возвращает наибольшее возможное минимальное значение поля.
long getMaximum()
Возвращает максимальное значение поля.
long getMinimum()
Возвращает минимальное значение поля.
long getSmallestMaximum()
Возвращает наименьшее возможное максимальное значение поля.
int hashCode()
Хеш-код этого диапазона.
boolean isFixed()
Определяет, является ли диапазон значений фиксированным и полностью известным.
boolean isIntValue()
Проверяет, помещаются ли все значения диапазона в int.
boolean isValidIntValue(long value)
Проверяет, входит ли значение в допустимый диапазон и помещаются ли все значения диапазона в int.
boolean isValidValue(long value)
Проверяет, входит ли значение в допустимый диапазон.
static ValueRange of(long min, long max)
Создаёт фиксированный диапазон значений.
static ValueRange of(long min, long maxSmallest, long maxLargest)
Создаёт переменный диапазон значений.
static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest)
Создаёт полностью переменный диапазон значений.
String toString()
Представляет этот диапазон в виде String.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

of

public static ValueRange of(long min, long max)
Создаёт фиксированный диапазон значений.

Эта фабрика создаёт диапазон с фиксированными минимальным и максимальным значениями. Например, месяц года в ISO всегда имеет значения от 1 до 12.

Параметры:
min — минимальное значение
max — максимальное значение
Возвращает:
ValueRange для min, max; не null
Вызывает исключение:
IllegalArgumentException — если минимальное значение больше максимального

of

public static ValueRange of(long min, long maxSmallest, long maxLargest)
Создаёт переменный диапазон значений.

Эта фабрика создаёт диапазон с фиксированным минимальным значением и переменным максимальным значением. Например, день месяца в ISO всегда начинается с 1, но заканчивается числом от 28 до 31.

Параметры:
min — минимальное значение
maxSmallest — наименьшее максимальное значение
maxLargest — наибольшее максимальное значение
Возвращает:
ValueRange для min, наименьшего max, наибольшего max; не null
Вызывает исключение:
IllegalArgumentException — если минимальное значение больше наименьшего максимального или наименьшее максимальное значение больше наибольшего максимального

of

public static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest)
Создаёт полностью переменный диапазон значений.

Эта фабрика создаёт диапазон, в котором могут меняться как минимальное, так и максимальное значения.

Параметры:
minSmallest — наименьшее минимальное значение
minLargest — наибольшее минимальное значение
maxSmallest — наименьшее максимальное значение
maxLargest — наибольшее максимальное значение
Возвращает:
ValueRange для наименьшего min, наибольшего min, наименьшего max, наибольшего max; не null
Вызывает исключение:
IllegalArgumentException — если наименьшее минимальное значение больше наименьшего максимального, или наименьшее максимальное значение больше наибольшего максимального, или наибольшее минимальное значение больше наибольшего максимального, или наименьшее минимальное значение больше наибольшего минимального

isFixed

public boolean isFixed()
Определяет, является ли диапазон значений фиксированным и полностью известным.

Например, день месяца в ISO принимает значения от 1 до числа от 28 до 31. Поскольку максимальное значение неизвестно точно, диапазон не является фиксированным. Однако для января диапазон всегда составляет от 1 до 31, поэтому он фиксированный.

Возвращает:
true, если набор значений фиксирован

getMinimum

public long getMinimum()
Возвращает минимальное значение, которое может принимать поле.

Например, день месяца в ISO всегда начинается с 1. Следовательно, минимальное значение равно 1.

Возвращает:
минимальное значение для этого поля

getLargestMinimum

public long getLargestMinimum()
Возвращает наибольшее возможное минимальное значение, которое может принимать поле.

Например, день месяца в ISO всегда начинается с 1. Следовательно, наибольшее минимальное значение равно 1.

Возвращает:
наибольшее возможное минимальное значение для этого поля

getSmallestMaximum

public long getSmallestMaximum()
Возвращает наименьшее возможное максимальное значение, которое может принимать поле.

День месяца в ISO может составлять от 28 до 31 дня. Следовательно, наименьшее максимальное значение равно 28.

Возвращает:
наименьшее возможное максимальное значение для этого поля

getMaximum

public long getMaximum()
Возвращает максимальное значение, которое может принимать поле.

День месяца в ISO может составлять от 28 до 31 дня. Следовательно, максимальное значение равно 31.

Возвращает:
максимальное значение для этого поля

isIntValue

public boolean isIntValue()
Проверяет, помещаются ли все значения диапазона в int.

Проверяется, что все допустимые значения находятся в пределах диапазона int.

Например, месяц года в ISO принимает значения от 1 до 12, которые помещаются в int. Для сравнения: наносекунда дня в ISO принимает значения от 1 до 86 400 000 000 000, которые не помещаются в int.

Эта реализация использует getMinimum() и getMaximum().

Возвращает:
true, если допустимое значение всегда помещается в int

isValidValue

public boolean isValidValue(long value)
Проверяет, входит ли значение в допустимый диапазон.

Проверяется, что значение входит в сохранённый диапазон значений.

Параметры:
value — проверяемое значение
Возвращает:
true, если значение допустимо

isValidIntValue

public boolean isValidIntValue(long value)
Проверяет, входит ли значение в допустимый диапазон и помещаются ли все значения диапазона в int.

Этот метод объединяет isIntValue() и isValidValue(long).

Параметры:
value — проверяемое значение
Возвращает:
true, если значение допустимо и помещается в int

checkValidValue

public long checkValidValue(long value, TemporalField field)
Проверяет, что указанное значение допустимо.

Проверяется, что значение входит в допустимый диапазон значений. Поле используется только для уточнения сообщения об ошибке.

Параметры:
value — проверяемое значение
field — проверяемое поле; может быть null
Возвращает:
переданное значение
См. также:
  • isValidValue(long)

checkValidIntValue

public int checkValidIntValue(long value, TemporalField field)
Проверяет, что указанное значение допустимо и помещается в int.

Проверяется, что значение входит в допустимый диапазон и что все допустимые значения находятся в пределах диапазона int. Поле используется только для уточнения сообщения об ошибке.

Параметры:
value — проверяемое значение
field — проверяемое поле; может быть null
Возвращает:
переданное значение
См. также:
  • isValidIntValue(long)

equals

public boolean equals(Object obj)
Проверяет, равен ли этот диапазон другому диапазону.

Сравнение выполняется по четырём значениям: минимальному, наибольшему минимальному, наименьшему максимальному и максимальному. Сравниваются только объекты типа ValueRange; для объектов других типов возвращается false.

Переопределяет:
equals в классе Object
Параметры:
obj — проверяемый объект; для null возвращается false
Возвращает:
true, если этот диапазон равен другому диапазону
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хеш-код этого диапазона.
Переопределяет:
hashCode в классе Object
Возвращает:
подходящий хеш-код
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Представляет этот диапазон в виде String.

Формат: «{min}/{largestMin} - {smallestMax}/{max}». Секции largestMin или smallestMax, а также соответствующие косые черты могут опускаться, если они совпадают с min или max.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого диапазона; не null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/temporal/ValueRange.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API