Spec-Zone.ru › OpenJDK 25

Класс Runtime.Version

java.lang.Object
java.lang.Runtime.Version
Все реализуемые интерфейсы:
Comparable<Runtime.Version>
Внешний класс:
Runtime
public static final class Runtime.Version extends Object implements Comparable<Runtime.Version>
Представление строки версии реализации платформы Java SE. Строка версии состоит из номера версии, за которым могут следовать сведения о предварительном выпуске и сборке.

Номера версий

Номер версии, $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<Integer> build()
Возвращает номер сборки.
int compareTo(Runtime.Version obj)
Сравнивает эту версию с другой.
int compareToIgnoreOptional(Runtime.Version obj)
Сравнивает эту версию с другой, игнорируя дополнительные сведения о сборке.
boolean equals(Object obj)
Определяет, равен ли этот Version другому объекту.
boolean equalsIgnoreOptional(Object obj)
Определяет, равен ли этот Version другому, игнорируя дополнительные сведения о сборке.
int feature()
Возвращает значение элемента feature номера версии.
int hashCode()
Возвращает хеш-код этой версии.
int interim()
Возвращает значение элемента interim номера версии или ноль, если он отсутствует.
int major()
Устарел.
Начиная с Java SE 10, первый элемент номера версии обозначает не номер основного выпуска, а счётчик выпусков с новыми возможностями, увеличиваемый при каждом выпуске по графику.
int minor()
Устарел.
Начиная с Java SE 10, второй элемент номера версии обозначает не номер дополнительного выпуска, а счётчик промежуточных выпусков, увеличиваемый при каждом промежуточном выпуске.
Optional<String> optional()
Возвращает дополнительные сведения, идентифицирующие сборку.
static Runtime.Version parse(String s)
Разбирает указанную строку как допустимую строку версии, содержащую номер версии, за которым следуют сведения о предварительном выпуске и сборке.
int patch()
Возвращает значение элемента patch номера версии или ноль, если он отсутствует.
Optional<String> pre()
Возвращает дополнительные сведения о предварительном выпуске.
int security()
Устарел.
Начиная с Java SE 10, третий элемент номера версии обозначает не уровень безопасности, а счётчик выпусков обновлений, увеличиваемый при каждом выпуске обновления.
String toString()
Возвращает строковое представление этой версии.
int update()
Возвращает значение элемента update номера версии или ноль, если он отсутствует.
List<Integer> version()
Возвращает неизменяемый List целых чисел, представленных в номере версии.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

parse

public static Runtime.Version parse(String s)
Разбирает указанную строку как допустимую строку версии, содержащую номер версии, за которым следуют сведения о предварительном выпуске и сборке.
Параметры:
s — строка, интерпретируемая как версия
Возвращает:
Версию, представленную указанной строкой
Выбрасывает:
IllegalArgumentException — если указанную строку невозможно интерпретировать как допустимую версию
NullPointerException — если указанная строка является null
NumberFormatException — если элемент номера версии или номер сборки невозможно представить в виде Integer

feature

public int feature()
Возвращает значение элемента feature номера версии.
Возвращает:
Значение элемента feature
Начиная с:
10

interim

public int interim()
Возвращает значение элемента interim номера версии или ноль, если он отсутствует.
Возвращает:
Значение элемента interim или ноль
Начиная с:
10

update

public int update()
Возвращает значение элемента update номера версии или ноль, если он отсутствует.
Возвращает:
Значение элемента update или ноль
Начиная с:
10

patch

public int patch()
Возвращает значение элемента patch номера версии или ноль, если он отсутствует.
Возвращает:
Значение элемента patch или ноль
Начиная с:
10

major

@Deprecated(since="10") public int major()
Устарел.
Начиная с Java SE 10, первый элемент номера версии обозначает не номер основного выпуска, а счётчик выпусков с новыми возможностями, увеличиваемый при каждом выпуске по графику. Вместо этого метода предпочтительно использовать метод feature(). Для обеспечения совместимости этот метод возвращает значение элемента feature.
Возвращает значение основного элемента номера версии.
Возвращает:
Значение элемента feature

minor

@Deprecated(since="10") public int minor()
Устарел.
Начиная с Java SE 10, второй элемент номера версии обозначает не номер дополнительного выпуска, а счётчик промежуточных выпусков, увеличиваемый при каждом промежуточном выпуске. Вместо этого метода предпочтительно использовать метод interim(). Для обеспечения совместимости этот метод возвращает значение элемента interim или ноль, если он отсутствует.
Возвращает значение дополнительного элемента номера версии или ноль, если он отсутствует.
Возвращает:
Значение элемента interim или ноль

security

@Deprecated(since="10") public int security()
Устарел.
Начиная с Java SE 10, третий элемент номера версии обозначает не уровень безопасности, а счётчик выпусков обновлений, увеличиваемый при каждом выпуске обновления. Вместо этого метода предпочтительно использовать метод update(). Для обеспечения совместимости этот метод возвращает значение элемента update или ноль, если он отсутствует.
Возвращает значение элемента безопасности номера версии или ноль, если он отсутствует.
Возвращает:
Значение элемента update или ноль

version

public List<Integer> version()
Возвращает неизменяемый List целых чисел, представленных в номере версии. List всегда содержит по меньшей мере один элемент, соответствующий номеру версии с новой возможностью.
Возвращает:
Неизменяемый список целых чисел, представленных в номере версии

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 — объект для сравнения
Возвращает:
Отрицательное целое число, ноль или положительное целое число, если этот Version меньше, равен указанному Version или больше него
Выбрасывает:
NullPointerException — если указанный объект является null

compareToIgnoreOptional

public int compareToIgnoreOptional(Runtime.Version obj)
Сравнивает эту версию с другой, игнорируя дополнительные сведения о сборке.

Две версии сравниваются путём проверки строки версии, как описано в compareTo(Version), за исключением того, что дополнительные сведения о сборке всегда игнорируются.

Этот метод обеспечивает порядок, согласованный с equalsIgnoreOptional().

Параметры:
obj — объект для сравнения
Возвращает:
Отрицательное целое число, ноль или положительное целое число, если этот Version меньше, равен указанному Version или больше него
Выбрасывает:
NullPointerException — если указанный объект является null

toString

public String toString()
Возвращает строковое представление этой версии.
Переопределяет:
toString в классе Object
Возвращает:
Строку версии

equals

public boolean equals(Object obj)
Определяет, равен ли этот Version другому объекту.

Два Version считаются равными тогда и только тогда, когда они представляют одну и ту же строку версии.

Переопределяет:
equals в классе Object
Параметры:
obj — объект, с которым сравнивается этот Version
Возвращает:
true тогда и только тогда, когда указанный объект является Version, идентичным этому Version
См. также:
  • Object.hashCode()
  • HashMap

equalsIgnoreOptional

public boolean equalsIgnoreOptional(Object obj)
Определяет, равен ли этот Version другому, игнорируя дополнительные сведения о сборке.

Два Version считаются равными тогда и только тогда, когда они представляют одну и ту же строку версии без учёта дополнительных сведений о сборке.

Параметры:
obj — объект, с которым сравнивается этот Version
Возвращает:
true тогда и только тогда, когда указанный объект является Version, идентичным этому Version без учёта дополнительных сведений о сборке

hashCode

public int hashCode()
Возвращает хеш-код этой версии.
Переопределяет:
hashCode в классе Object
Возвращает:
Хеш-код этой версии
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API