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