Класс 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- максимальное значение - Возвращает:
- диапазон значений для min, max, не null
- Исключения:
-
IllegalArgumentException- если минимальное значение больше максимального
of
public static ValueRange of(long min, long maxSmallest, long maxLargest)
Этот фабричный метод получает диапазон, где минимальное значение фиксировано, а максимальное значение может меняться. Например, ISO день месяца всегда начинается с 1, но заканчивается между 28 и 31.
- Параметры:
-
min- минимальное значение -
maxSmallest- наименьшее максимальное значение -
maxLargest- наибольшее максимальное значение - Возвращает:
- диапазон значений для min, наименьшего max, наибольшего max, не null
- Исключения:
-
IllegalArgumentException- если минимальное значение больше наименьшего максимального, или наименьшее максимальное значение больше наибольшего максимального
of
public static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest)
Этот фабричный метод получает диапазон, где как минимальное, так и максимальное значение могут меняться.
- Параметры:
-
minSmallest- наименьшее минимальное значение -
minLargest- наибольшее минимальное значение -
maxSmallest- наименьшее максимальное значение -
maxLargest- наибольшее максимальное значение - Возвращает:
- диапазон значений для наименьшего 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/temporal/ValueRange.html