Класс 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) Проверяет, является ли указанное значение допустимым и помещается ли оно в |
long |
checkValidValue(long value,
TemporalField field) Проверяет, является ли указанное значение допустимым. |
boolean |
equals(Object obj) Проверяет, равен ли данный диапазон другому диапазону. |
long |
getLargestMinimum() Возвращает наибольшее возможное минимальное значение, которое может принять поле. |
long |
getMaximum() Возвращает максимальное значение, которое может принять поле. |
long |
getMinimum() Возвращает минимальное значение, которое может принять поле. |
long |
getSmallestMaximum() Возвращает наименьшее возможное максимальное значение, которое может принять поле. |
int |
hashCode() Хеш-код для данного диапазона. |
boolean |
isFixed() Является ли диапазон значений фиксированным и полностью известным. |
boolean |
isIntValue() Проверяет, помещаются ли все значения в диапазоне в |
boolean |
isValidIntValue(long value) Проверяет, находится ли значение в допустимом диапазоне и помещаются ли все значения в диапазоне в |
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() Выводит этот диапазон в виде |
Методы, унаследованные от класса java.lang.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 до 86400000000000, что не помещается в 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(java.lang.Object)
toString
public String toString()
Выводит этот диапазон в виде String.
Формат будет '{min}/{largestMin} - {smallestMax}/{max}', где части largestMin или smallestMax, вместе с соответствующими слешами, могут быть опущены, если они равны min или max.
© 1993, 2020, 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.