Класс Runtime.Version
- Все реализованные интерфейсы:
Comparable<Runtime.Version>
- Вложенный класс:
Runtime
public static final class Runtime.Version extends Object implements Comparable<Runtime.Version>
Номера версий
Номер версии, $VNUM, — это непустая последовательность элементов, разделенных точками (U+002E). Элемент — это либо ноль, либо целое неотрицательное число без ведущих нулей. Последний элемент в номере версии не может быть нулем. При инкременте элемента все последующие элементы удаляются. Формат:
[1-9][0-9]*((\.0)*\.[1-9][0-9]*)*
Последовательность может иметь произвольную длину, но первые четыре элемента имеют конкретное значение, как указано ниже:
$FEATURE.$INTERIM.$UPDATE.$PATCH
$FEATURE— Счётчик релиза функций, увеличивается при каждом релизе функций независимо от содержимого релиза. Функции могут быть добавлены в релизе функции; они также могут быть удалены, если об этом было сообщено как минимум за один релиз функций до этого. Несовместимые изменения могут быть внесены при обосновании.$INTERIM— Счётчик промежуточного релиза, увеличивается при выпусках без функций, содержащих совместимые исправления ошибок и улучшения, но без несовместимых изменений, удалений функций и изменений в стандартных API.$UPDATE— Счётчик обновления релиза, увеличивается при совместимых выпусках обновлений, исправляющих проблемы безопасности, регрессии и ошибки в новых функциях.$PATCH— Счётчик критического патча, увеличивается только в случае необходимости выпуска критического патча для исправления критической проблемы.
Пятый и последующие элементы номера версии предназначены для использования реализаторами платформы для идентификации патчей, специфичных для реализатора.
Номер версии никогда не имеет заключительных нулевых элементов. Если элемент и все следующие за ним логически имеют значение ноль, то все они опускаются.
Последовательность цифр в номере версии сравнивается с другой такой последовательностью по порядку, поэлементно; например,
10.0.4 меньше, чем 10.1.2. Если одна последовательность короче другой, то пропущенные элементы более короткой последовательности считаются меньше соответствующих элементов более длинной последовательности; например, 10.0.2 меньше, чем 10.0.2.1.
Строки версий
Строка версии, $VSTR, — это номер версии
$VNUM, описанный выше, за которым необязательно следуют информация о предварительной версии и сборке в одном из следующих форматов:
$VNUM(-$PRE)?\+$BUILD(-$OPT)?
$VNUM-$PRE(-$OPT)?
$VNUM(\+-$OPT)?
где:
$PRE, совпадающий с([a-zA-Z0-9]+)— Идентификатор предварительной версии. Обычноea, для потенциально нестабильного релиза раннего доступа в активной разработке, илиinternal, для внутренней сборки разработчиков.$BUILD, совпадающий с(0|[1-9][0-9]*)— Номер сборки, инкрементируемый для каждой продвинутой сборки.$BUILDсбрасывается до1при инкременте любой части$VNUM.$OPT, совпадающий с([-a-zA-Z0-9.]+)— Дополнительная информация о сборке, если необходимо. В случае сборкиinternalона часто содержит дату и время сборки.
Строка версии 10-ea соответствует $VNUM = "10" и $PRE = "ea". Строка версии 10+-ea соответствует $VNUM = "10" и $OPT = "ea".
При сравнении двух строк версии значение $OPT, если оно присутствует, может или не может иметь значение в зависимости от выбранного метода сравнения. Методы сравнения compareTo() и compareToIgnoreOptional() должны использоваться последовательно с соответствующими методами equals() и equalsIgnoreOptional().
Короткая строка версии, $SVSTR, часто полезная в менее формальных контекстах, — это номер версии, за которым необязательно следует идентификатор предварительной версии:
$VNUM(-$PRE)?
Этот класс — значение-ориентированный; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе могут возникнуть непредсказуемые поведения. Например, в будущих выпусках синхронизация может завершиться сбоем.
- С:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Optional |
build() |
Возвращает номер сборки. |
int |
compareTo |
Сравнивает эту версию с другой. |
int |
compareToIgnoreOptional |
Сравнивает эту версию с другой, игнорируя необязательную информацию о сборке. |
boolean |
equals |
Определяет, равна ли эта Version другому объекту. |
boolean |
equalsIgnoreOptional |
Определяет, равна ли эта Version другому объекту, игнорируя необязательную информацию о сборке. |
int |
feature() |
Возвращает значение элемента функции номера версии. |
int |
hashCode() |
Возвращает хэш-код этой версии. |
int |
interim() |
Возвращает значение элемента промежуточного номера версии или ноль, если он отсутствует. |
int |
major() |
Устаревший. Начиная с Java SE 10, первый элемент номера версии — не номер основной версии, а счётчик релиза функций, увеличивается при каждом релизе на основе времени. |
int |
minor() |
Устаревший. Начиная с Java SE 10, второй элемент номера версии — не номер меньшей версии, а счётчик промежуточного релиза, увеличивается при каждом промежуточном релизе. |
Optional |
optional() |
Возвращает необязательную дополнительную идентифицирующую информацию о сборке. |
static Runtime.Version |
parse |
Парсит заданную строку как допустимую строку версии, содержащую номер версии, за которым следуют предварительная и компиляционная информация. |
int |
patch() |
Возвращает значение элемента патча номера версии или ноль, если он отсутствует. |
Optional |
pre() |
Возвращает необязательную информацию о предварительной версии. |
int |
security() |
Устаревший. Начиная с Java SE 10, третий элемент номера версии — не уровень безопасности, а счётчик релиза обновления, увеличивается при каждом релизе обновления. |
String |
toString() |
Возвращает строковое представление этой версии. |
int |
update() |
Возвращает значение элемента обновления номера версии или ноль, если он отсутствует. |
List |
version() |
Возвращает неизменяемый List целых чисел, представленных в номере версии. |
Подробное описание методов
parse
public static Runtime.Version parse(String s)
- Параметры:
-
s- Строка для интерпретации как версии - Возвращает:
- Версия заданной строки
- Исключения:
-
IllegalArgumentException- Если заданная строка не может быть интерпретирована как допустимая версия -
NullPointerException- Если заданная строка являетсяnull -
NumberFormatException- Если элемент номера версии или номера сборки не может быть представлен какInteger
feature
public int feature()
- Возвращает:
- Значение элемента feature
- С тех пор:
- 10
interim
public int interim()
- Возвращает:
- Значение элемента interim или ноль
- С тех пор:
- 10
update
public int update()
- Возвращает:
- Значение элемента update или ноль
- С тех пор:
- 10
patch
public int patch()
- Возвращает:
- Значение элемента patch или ноль
- С тех пор:
- 10
major
@Deprecated(since="10") public int major()
- Возвращает:
- Значение элемента feature
minor
@Deprecated(since="10") public int minor()
interim() вместо этого метода. Для совместимости этот метод возвращает значение элемента interim или ноль, если он отсутствует.- Возвращает:
- Значение элемента interim или ноль
security
@Deprecated(since="10") public int security()
update() вместо этого метода. Для совместимости этот метод возвращает значение элемента update или ноль, если он отсутствует.- Возвращает:
- Значение элемента update или ноль
version
public List<Integer> version()
List целых чисел, представленных в номере версии. Список List всегда содержит как минимум один элемент, соответствующий номерам версии feature.- Возвращает:
- Неизменяемый список целых чисел, представленных в номере версии
pre
public Optional<String> pre()
- Возвращает:
- Необязательную информацию о предварительной версии в виде строки
build
public Optional<Integer> build()
- Возвращает:
- Необязательный номер сборки.
optional
public Optional<String> optional()
- Возвращает:
- Дополнительную информацию о сборке в виде строки
compareTo
public int compareTo(Runtime.Version obj)
Каждый из компонентов в версии сравнивается в следующем порядке приоритетов: номера версии, идентификаторы предварительной версии, номера сборки, дополнительная информация о сборке.
Сравнение начинается с проверки последовательности номеров версии. Если одна последовательность короче другой, то отсутствующие элементы более короткой последовательности считаются меньше соответствующих элементов более длинной последовательности.
Версия с идентификатором предварительной версии всегда считается меньше версии без него. Идентификаторы предварительной версии сравниваются численно, если они состоят только из цифр, и лексикографически в противном случае. Численные идентификаторы считаются меньше нечисловых.
Версия без номера сборки всегда меньше версии с номером сборки; в противном случае номера сборки сравниваются численно.
Дополнительная информация о сборке сравнивается лексикографически. Во время этого сравнения версия с дополнительной информацией о сборке считается больше, чем версия без нее.
- Задано в:
-
compareToв интерфейсеComparable<Runtime.Version> - Параметры:
-
obj- Объект для сравнения - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если эта версия меньше, равна или больше, чем заданная версия
- Исключения:
-
NullPointerException- Если заданный объект являетсяnull
compareToIgnoreOptional
public int compareToIgnoreOptional(Runtime.Version obj)
Две версии сравниваются путем проверки строки версии, как описано в compareTo(Version), за исключением того, что дополнительная информация о сборке всегда игнорируется.
Этот метод обеспечивает порядок, согласованный с equalsIgnoreOptional().
- Параметры:
-
obj- Объект для сравнения - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если эта версия меньше, равна или больше, чем заданная версия
- Исключения:
-
NullPointerException- Если заданный объект являетсяnull
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Строка версии
equals
public boolean equals(Object obj)
Две версии равны тогда и только тогда, когда они представляют одну и ту же строку версии.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Объект, с которым должна быть сравнена эта версия - Возвращает:
-
trueтогда и только тогда, когда данный объект является версией, идентичной этой версии - См. также:
equalsIgnoreOptional
public boolean equalsIgnoreOptional(Object obj)
Две версии равны, если и только если они представляют одну и ту же строку версии, игнорируя дополнительную информацию о сборке.
- Параметры:
-
obj- Объект, с которым должна быть сравнена эта версия - Возвращает:
-
trueтогда и только тогда, когда данный объект является версией, идентичной этой версии, игнорируя дополнительную информацию о сборке
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- Хэш-код этой версии
- См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/lang/Runtime.Version.html