Класс 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
optional
public Optional<String> optional()
- Возвращает:
- Дополнительная информация о сборке в виде строки
compareTo
public int compareTo(Runtime.Version obj)
Каждый из компонентов в версии сравнивается в следующем порядке приоритета: номера версии, идентификаторы предварительных версий, номера сборки, необязательная информация о сборке.
Сравнение начинается с проверки последовательности номеров версии. Если одна последовательность короче другой, то отсутствующие элементы более короткой последовательности считаются меньше соответствующих элементов более длинной последовательности.
Версия с идентификатором предварительной версии всегда считается меньше версии без него. Идентификаторы предварительных версий сравниваются численно, если они состоят только из цифр, и лексикографически в противном случае. Числовые идентификаторы считаются меньше нечисловых идентификаторов.
Версия без номера сборки всегда меньше версии с номером сборки; в противном случае номера сборки сравниваются численно.
Необязательная информация о сборке сравнивается лексикографически. При этом сравнении версия с необязательной информацией о сборке считается больше версии без неё.
- Определено в:
-
compareToв интерфейсеComparable<Runtime.Version> - Параметры:
-
obj- Объект для сравнения - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если эта
Versionменьше, равна или больше, чем заданнаяVersion - Издаёт исключение:
-
NullPointerException- Если заданный объект являетсяnull
compareToIgnoreOptional
public int compareToIgnoreOptional(Runtime.Version obj)
Две версии сравниваются путём проверки строки версии, как описано в compareTo(Version), за исключением того, что необязательная информация о сборке всегда игнорируется.
Этот метод обеспечивает порядок, согласующийся с equalsIgnoreOptional().
- Параметры:
-
obj- Объект для сравнения - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если эта
Versionменьше, равна или больше, чем заданнаяVersion - Издаёт исключение:
-
NullPointerException- Если заданный объект являетсяnull
toString
equals
public boolean equals(Object obj)
Version другому объекту. Две Version равны тогда и только тогда, когда они представляют одну и ту же строку версии.
equalsIgnoreOptional
public boolean equalsIgnoreOptional(Object obj)
Version другому объекту, игнорируя необязательную информацию о сборке. Две Version равны тогда и только тогда, когда они представляют одну и ту же строку версии, игнорируя необязательную информацию о сборке.
- Параметры:
-
obj- Объект, с которым сравнивается этаVersion - Возвращает:
-
trueтогда и только тогда, когда заданный объект являетсяVersion, идентичным этойVersion, игнорируя необязательную информацию о сборке
hashCode
© 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/lang/Runtime.Version.html