Spec-Zone.ru › OpenJDK 21

Класс 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 Platform. Строка версии состоит из номера версии, за которым необязательно следуют информация о предварительной версии и сборке.

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

Номер версии, $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

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

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()
Возвращает необязательную информацию о предварительной версии.
Возвращает:
Необязательную информацию о предварительной версии в виде строки

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 тогда и только тогда, когда данный объект является версией, идентичной этой версии
См. также:
  • Object.hashCode()
  • HashMap

equalsIgnoreOptional

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

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

Параметры:
obj - Объект, с которым должна быть сравнена эта версия
Возвращает:
true тогда и только тогда, когда данный объект является версией, идентичной этой версии, игнорируя дополнительную информацию о сборке

hashCode

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

Spec-Zone.ru

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