Spec-Zone.ru › OpenJDK 17

Класс 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

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

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 - Объект для сравнения
Возвращает:
Отрицательное целое число, ноль или положительное целое число, если эта 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, 2021, 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/17/docs/api/java.base/java/lang/Runtime.Version.html

Spec-Zone.ru

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