Spec-Zone.ru › OpenJDK 24

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

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
END_OF_DOCUMENT_MARKER ```

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

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.
Возвращает значение элемента major номера версии.
Возвращает:
Значение элемента feature

minor

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

security

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

version

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

pre

public Optional<String> pre()
Возвращает необязательную информацию о предварительной версии pre-release.
Возвращает:
Необязательная информация о предварительной версии в виде строки

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(java.lang.Object)

© 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

Spec-Zone.ru

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