Класс 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 |
Проверяет, что указанное значение допустимо и помещается в int. |
long |
checkValidValue |
Проверяет, что указанное значение допустимо. |
boolean |
equals |
Проверяет, равен ли этот диапазон другому диапазону. |
long |
getLargestMinimum() |
Возвращает наибольшее возможное минимальное значение поля. |
long |
getMaximum() |
Возвращает максимальное значение поля. |
long |
getMinimum() |
Возвращает минимальное значение поля. |
long |
getSmallestMaximum() |
Возвращает наименьшее возможное максимальное значение поля. |
int |
hashCode() |
Хеш-код этого диапазона. |
boolean |
isFixed() |
Определяет, является ли диапазон значений фиксированным и полностью известным. |
boolean |
isIntValue() |
Проверяет, помещаются ли все значения диапазона в int. |
boolean |
isValidIntValue |
Проверяет, входит ли значение в допустимый диапазон и помещаются ли все значения диапазона в int. |
boolean |
isValidValue |
Проверяет, входит ли значение в допустимый диапазон. |
static ValueRange |
of |
Создаёт фиксированный диапазон значений. |
static ValueRange |
of |
Создаёт переменный диапазон значений. |
static ValueRange |
of |
Создаёт полностью переменный диапазон значений. |
String |
toString() |
Представляет этот диапазон в виде String. |
Подробное описание методов
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 - Возвращает:
- переданное значение
- См. также:
checkValidIntValue
public int checkValidIntValue(long value, TemporalField field)
int. Проверяется, что значение входит в допустимый диапазон и что все допустимые значения находятся в пределах диапазона int. Поле используется только для уточнения сообщения об ошибке.
- Параметры:
-
value— проверяемое значение -
field— проверяемое поле; может быть null - Возвращает:
- переданное значение
- См. также:
equals
public boolean equals(Object obj)
Сравнение выполняется по четырём значениям: минимальному, наибольшему минимальному, наименьшему максимальному и максимальному. Сравниваются только объекты типа ValueRange; для объектов других типов возвращается false.
hashCode
toString
public String toString()
String. Формат: «{min}/{largestMin} - {smallestMax}/{max}». Секции largestMin или smallestMax, а также соответствующие косые черты могут опускаться, если они совпадают с min или max.
© 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