Класс 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() |
Возвращает значение элемента feature номера версии. |
int |
hashCode() |
Возвращает хеш-код этой версии. |
int |
interim() |
Возвращает значение элемента interim номера версии или ноль, если он отсутствует. |
int |
major() |
Устарел. Начиная с Java SE 10, первый элемент номера версии обозначает не номер основного выпуска, а счётчик выпусков с новыми возможностями, увеличиваемый при каждом выпуске по графику. |
int |
minor() |
Устарел. Начиная с Java SE 10, второй элемент номера версии обозначает не номер дополнительного выпуска, а счётчик промежуточных выпусков, увеличиваемый при каждом промежуточном выпуске. |
Optional |
optional() |
Возвращает дополнительные сведения, идентифицирующие сборку. |
static Runtime.Version |
parse |
Разбирает указанную строку как допустимую строку версии, содержащую номер версии, за которым следуют сведения о предварительном выпуске и сборке. |
int |
patch() |
Возвращает значение элемента patch номера версии или ноль, если он отсутствует. |
Optional |
pre() |
Возвращает дополнительные сведения о предварительном выпуске. |
int |
security() |
Устарел. Начиная с Java SE 10, третий элемент номера версии обозначает не уровень безопасности, а счётчик выпусков обновлений, увеличиваемый при каждом выпуске обновления. |
String |
toString() |
Возвращает строковое представление этой версии. |
int |
update() |
Возвращает значение элемента 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(). Для обеспечения совместимости этот метод возвращает значение элемента feature.- Возвращает:
- Значение элемента 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 всегда содержит по меньшей мере один элемент, соответствующий номеру версии с новой возможностью.- Возвращает:
- Неизменяемый список целых чисел, представленных в номере версии
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runtime.Version.html