Spec-Zone.ru › OpenJDK 21

Перечисление SourceVersion

java.lang.Object
java.lang.Enum<SourceVersion>
javax.lang.model.SourceVersion
Все реализованные интерфейсы:
Serializable, Comparable<SourceVersion>, Constable
public enum SourceVersion extends Enum<SourceVersion>
Версии Java-программирования. См. соответствующее издание спецификации языка Java для получения информации о конкретной версии.

Обратите внимание, что будут добавлены дополнительные константы версий для моделирования будущих релизов языка.

С момента:
1.6
См. также:
  • ClassFileFormatVersion

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

Краткое описание констант перечисления

Константа перечисления Описание
RELEASE_0
Исходная версия.
RELEASE_1
Версия, представленная в Java Platform 1.1.
RELEASE_10
Версия, представленная в Java Platform, Standard Edition 10.
RELEASE_11
Версия, представленная в Java Platform, Standard Edition 11.
RELEASE_12
Версия, представленная в Java Platform, Standard Edition 12.
RELEASE_13
Версия, представленная в Java Platform, Standard Edition 13.
RELEASE_14
Версия, представленная в Java Platform, Standard Edition 14.
RELEASE_15
Версия, представленная в Java Platform, Standard Edition 15.
RELEASE_16
Версия, представленная в Java Platform, Standard Edition 16.
RELEASE_17
Версия, представленная в Java Platform, Standard Edition 17.
RELEASE_18
Версия, представленная в Java Platform, Standard Edition 18.
RELEASE_19
Версия, представленная в Java Platform, Standard Edition 19.
RELEASE_2
Версия, представленная в Java 2 Platform, Standard Edition, v 1.2.
RELEASE_20
Версия, представленная в Java Platform, Standard Edition 20.
RELEASE_21
Версия, представленная в Java Platform, Standard Edition 21.
RELEASE_3
Версия, представленная в Java 2 Platform, Standard Edition, v 1.3.
RELEASE_4
Версия, представленная в Java 2 Platform, Standard Edition, v 1.4.
RELEASE_5
Версия, представленная в Java 2 Platform, Standard Edition 5.0.
RELEASE_6
Версия, представленная в Java Platform, Standard Edition 6.
RELEASE_7
Версия, представленная в Java Platform, Standard Edition 7.
RELEASE_8
Версия, представленная в Java Platform, Standard Edition 8.
RELEASE_9
Версия, представленная в Java Platform, Standard Edition 9.

Краткое описание методов

Модификатор и тип Метод Описание
static boolean isIdentifier(CharSequence name)
Возвращает, является ли name синтаксически допустимым идентификатором (простым именем) или ключевым словом в последней версии.
static boolean isKeyword(CharSequence s)
Возвращает, является ли s ключевым словом, булевым литералом или литералом null в последней версии.
static boolean isKeyword(CharSequence s, SourceVersion version)
Возвращает, является ли s ключевым словом, булевым литералом или литералом null в заданной версии.
static boolean isName(CharSequence name)
Возвращает, является ли name синтаксически допустимым квалифицированным именем в последней версии.
static boolean isName(CharSequence name, SourceVersion version)
Возвращает, является ли name синтаксически допустимым квалифицированным именем в заданной версии.
static SourceVersion latest()
Возвращает последнюю модельную версию.
static SourceVersion latestSupported()
Возвращает последнюю версию, полностью поддерживаемую текущей средой выполнения.
Runtime.Version runtimeVersion()
Возвращает наименьшую версию среды выполнения, поддерживающую эту версию; в противном случае null.
static SourceVersion valueOf(Runtime.Version rv)
Возвращает последнюю версию, пригодную для использования в заданной версии среды выполнения.
static SourceVersion valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static SourceVersion[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

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

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

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

getClass, notify, notifyAll, wait, wait, wait

Подробности констант перечисления

RELEASE_0

public static final SourceVersion RELEASE_0
Исходная версия. Язык, описанный в Спецификации языка Java, первое издание.

RELEASE_1

public static final SourceVersion RELEASE_1
Версия, представленная платформой Java Platform 1.1. Язык RELEASE_0 дополнен вложенными классами, как описано в обновлении 1.1 Спецификации языка Java, первое издание.

RELEASE_2

public static final SourceVersion RELEASE_2
Версия, представленная платформой Java 2 Platform, Standard Edition, v 1.2. Язык, описанный в Спецификации языка Java, второе издание, которая включает модификатор strictfp.

RELEASE_3

public static final SourceVersion RELEASE_3
Версия, представленная платформой Java 2 Platform, Standard Edition, v 1.3. Без существенных изменений с RELEASE_2.

RELEASE_4

public static final SourceVersion RELEASE_4
Версия, представленная платформой Java 2 Platform, Standard Edition, v 1.4. Добавлена простая система утверждений.
См. также:
  • JSR 41: Простая система утверждений

RELEASE_5

public static final SourceVersion RELEASE_5
Версия, представленная платформой Java 2 Platform, Standard Edition 5.0. Язык, описанный в Спецификации языка Java, третье издание. Первая версия, поддерживающая дженерики, аннотации, автоупаковку, var-args, расширенный for цикл и шестнадцатеричные литералы с плавающей запятой.
См. также:
  • JSR 14: Добавление дженериков в язык программирования Java™
  • JSR 175: Механизм метаданных для языка программирования Java™
  • JSR 201: Расширение языка программирования Java™ перечислениями, автоупаковкой, расширенными циклами и статическим импортом

RELEASE_6

public static final SourceVersion RELEASE_6
Версия, представленная платформой Java Platform, Standard Edition 6. Без существенных изменений с RELEASE_5.
См. также:
  • Спецификация языка Java, третье издание

RELEASE_7

public static final SourceVersion RELEASE_7
Версия, представленная платформой Java Platform, Standard Edition 7. Дополнения в этой версии включают синтаксис алмазов для конструкторов, try-с-ресурсами, строки в операторе switch, двоичные литералы и многократный catch.
С:
1.7
См. также:
  • Спецификация языка Java, Java SE 7 издание
  • JSR 334: Незначительные улучшения языка программирования Java™

RELEASE_8

public static final SourceVersion RELEASE_8
Версия, представленная платформой Java Platform, Standard Edition 8. Дополнения в этой версии включают лямбда-выражения и методы по умолчанию.
С:
1.8
См. также:
  • Спецификация языка Java, Java SE 8 издание
  • JSR 335: Лямбда-выражения для языка программирования Java™

RELEASE_9

public static final SourceVersion RELEASE_9
Версия, представленная платформой Java Platform, Standard Edition 9. Дополнения в этой версии включают модули и удаление одного подчеркивания из набора допустимых имен идентификаторов.
С:
9
См. также:
  • Спецификация языка Java, Java SE 9 издание
  • JSR 376: Модульная система платформы Java™
  • JEP 213: Проект Coin

RELEASE_10

public static final SourceVersion RELEASE_10
Версия, представленная платформой Java Platform, Standard Edition 10. Дополнения в этой версии включают вывод типов локальных переменных (var).
С:
10
См. также:
  • Спецификация языка Java, Java SE 10 издание
  • JEP 286: Вывод типов локальных переменных

RELEASE_11

public static final SourceVersion RELEASE_11
Версия, представленная платформой Java Platform, Standard Edition 11. Дополнения в этой версии включают синтаксис локальных переменных для параметров лямбда-выражений.
С:
11
См. также:
  • Спецификация языка Java, Java SE 11 издание
  • JEP 323: Синтаксис локальных переменных для параметров лямбда-выражений

RELEASE_12

public static final SourceVersion RELEASE_12
Версия, представленная платформой Java Platform, Standard Edition 12. Без существенных изменений с предыдущей версии.
С:
12
См. также:
  • Спецификация языка Java, Java SE 12 издание

RELEASE_13

public static final SourceVersion RELEASE_13
Версия, представленная платформой Java Platform, Standard Edition 13. Без существенных изменений с предыдущей версии.
С:
13
См. также:
  • Спецификация языка Java, Java SE 13 издание

RELEASE_14

public static final SourceVersion RELEASE_14
Версия, представленная платформой Java Platform, Standard Edition 14. Дополнения в этой версии включают выражения switch.
С:
14
См. также:
  • Спецификация языка Java, Java SE 14 издание
  • JEP 361: Выражения switch

RELEASE_15

public static final SourceVersion RELEASE_15
Версия, представленная платформой Java Platform, Standard Edition 15. Дополнения в этой версии включают текстовые блоки.
С:
15
См. также:
  • Спецификация языка Java, Java SE 15 издание
  • JEP 378: Текстовые блоки

RELEASE_16

public static final SourceVersion RELEASE_16
Версия, представленная платформой Java Platform, Standard Edition 16. Дополнения в этой версии включают записи и сопоставление с образцом для instanceof.
С:
16
См. также:
  • Спецификация языка Java, Java SE 16 издание
  • JEP 394: Сопоставление с образцом для instanceof
  • JEP 395: Записи

RELEASE_17

public static final SourceVersion RELEASE_17
Версия, представленная платформой Java Platform, Standard Edition 17. Дополнения в этой версии включают запечатанные классы и восстановление всегда строгой семантики с плавающей запятой.
С:
17
См. также:
  • Спецификация языка Java, Java SE 17 издание
  • JEP 306: Восстановление всегда строгой семантики с плавающей запятой
  • JEP 409: Запечатанные классы

RELEASE_18

public static final SourceVersion RELEASE_18
Версия, представленная платформой Java Platform, Standard Edition 18. Без существенных изменений с предыдущей версии.
С:
18
См. также:
  • Спецификация языка Java, Java SE 18 издание

RELEASE_19

public static final SourceVersion RELEASE_19
Версия, представленная платформой Java Platform, Standard Edition 19. Без существенных изменений с предыдущей версии.
С:
19
См. также:
  • Спецификация языка Java, Java SE 19 издание

RELEASE_20

public static final SourceVersion RELEASE_20
Версия, представленная платформой Java Platform, Standard Edition 20. Без существенных изменений с предыдущей версии.
С:
20
См. также:
  • Спецификация языка Java, Java SE 20 издание

RELEASE_21

public static final SourceVersion RELEASE_21
Версия, представленная платформой Java, стандартное издание 21. Нововведения в этой версии включают шаблоны записей и сопоставление шаблонов для switch.
Since:
21
See Also:
  • Спецификация языка Java, издание Java SE 21
  • Шаблоны записей
  • Сопоставление шаблонов для switch

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

values

public static SourceVersion[] values()
Возвращает массив, содержащий константы этого перечисления, в порядке их объявления.
Returns:
массив, содержащий константы этого перечисления, в порядке их объявления

valueOf

public static SourceVersion valueOf(String name)
Возвращает константу перечисления этого класса с заданным именем. Строка должна точно соответствовать идентификатору, используемому для объявления константы перечисления в этом классе. (Дополнительные пробелы недопустимы.)
Parameters:
name - имя возвращаемой константы перечисления.
Returns:
константа перечисления с заданным именем
Throws:
IllegalArgumentException - если в этом классе перечисления нет константы с заданным именем
NullPointerException - если аргумент равен null

latest

public static SourceVersion latest()
Возвращает последнюю версию исходного кода, которую можно смоделировать.
Returns:
последняя версия исходного кода, которую можно смоделировать

latestSupported

public static SourceVersion latestSupported()
Возвращает последнюю версию исходного кода, полностью поддерживаемую текущей средой выполнения. Должна быть возвращена версия RELEASE_9 или более поздняя.
API Note:
Этот метод включён вместе с latest(), чтобы позволить идентифицировать ситуации, когда API модели языка работает на платформе, отличной от последней версии, моделируемой API. Одна из таких ситуаций может возникнуть, если IDE или подобный инструмент использует API для моделирования версии исходного кода N, работая на платформе версии (N - 1). Работа в такой конфигурации поддерживается API. Работа API на платформах, более ранних, чем (N - 1), или более поздних, чем N, может или не может работать, это деталь реализации. Если процессор аннотаций генерировал код для выполнения в текущей среде выполнения, процессор должен использовать только платформенные функции до релиза latestSupported, который может быть более ранним, чем релиз latest.
Returns:
последняя версия исходного кода, полностью поддерживаемая текущей средой выполнения

isIdentifier

public static boolean isIdentifier(CharSequence name)
Возвращает, является ли name синтаксически допустимым идентификатором (простым именем) или ключевым словом в последней версии исходного кода. Метод возвращает true если имя состоит из начального символа, для которого Character.isJavaIdentifierStart(int) возвращает true, за которым следуют только символы, для которых Character.isJavaIdentifierPart(int) возвращает true. Этот шаблон соответствует обычным идентификаторам, ключевым словам, контекстным ключевым словам и литералам "true", "false", "null". Метод возвращает false для всех остальных строк.
Parameters:
name - строка для проверки
Returns:
true если эта строка является синтаксически допустимым идентификатором или ключевым словом, false в противном случае.
См. Спецификацию языка Java:
3.8 Идентификаторы

isName

public static boolean isName(CharSequence name)
Возвращает, является ли name синтаксически допустимым квалифицированным именем в последней версии исходного кода. Синтаксически квалифицированное имя — это последовательность идентификаторов, разделенных точками ("."). Этот метод разделяет входную строку на сегменты, разделённые точками, и применяет проверки к каждому сегменту по очереди. В отличие от isIdentifier, этот метод возвращает false для ключевых слов, логических литералов и литерала null в любом сегменте. Этот метод возвращает true для контекстных ключевых слов.
Parameters:
name - строка для проверки
Returns:
true если эта строка является синтаксически допустимым именем, false в противном случае.
См. Спецификацию языка Java:
3.9 Ключевые слова
6.2 Имена и идентификаторы

isName

public static boolean isName(CharSequence name, SourceVersion version)
Возвращает, является ли name синтаксически допустимым квалифицированным именем в заданной версии исходного кода. Синтаксически, квалифицированное имя — это последовательность идентификаторов, разделённых точками ("."). Этот метод разбивает входную строку на сегменты, разделённые точками, и применяет проверки к каждому сегменту по очереди. В отличие от isIdentifier, этот метод возвращает false для ключевых слов, логических литералов и литерала null в любом сегменте. Этот метод возвращает true для контекстных ключевых слов.
Parameters:
name - строка для проверки
version - версия для использования
Returns:
true если эта строка является синтаксически допустимым именем, false в противном случае.
См. Спецификацию языка Java:
3.9 Ключевые слова
6.2 Имена и идентификаторы
Since:
9

isKeyword

public static boolean isKeyword(CharSequence s)
Возвращает, является ли s ключевым словом, логическим литералом или литералом null в последней версии исходного кода. Этот метод возвращает false для контекстных ключевых слов.
Parameters:
s - строка для проверки
Returns:
true если s является ключевым словом, логическим литералом или литералом null, false в противном случае.
См. Спецификацию языка Java:
3.9 Ключевые слова
3.10.3 Булевы литералы
3.10.8 Литерал null

isKeyword

public static boolean isKeyword(CharSequence s, SourceVersion version)
Возвращает, является ли s ключевым словом, логическим литералом или литералом null в заданной версии исходного кода. Этот метод возвращает false для контекстных ключевых слов.
Parameters:
s - строка для проверки
version - версия для использования
Returns:
true если s является ключевым словом, логическим литералом или литералом null, false в противном случае.
См. Спецификацию языка Java:
3.9 Ключевые слова
3.10.3 Булевы литералы
3.10.8 Литерал null
Since:
9

valueOf

public static SourceVersion valueOf(Runtime.Version rv)
Возвращает последнюю версию исходного кода, которая может быть использована в соответствии с аргументом версии среды выполнения. Если свойство feature версии среды выполнения больше, чем свойство runtime version версии последней версии исходного кода, выбрасывается IllegalArgumentException.

Поскольку версии исходного кода языка Java до сих пор следуют линейному прогрессу, для определения соответствия версии исходного кода запрашивается только компонент feature версии среды выполнения. Если эта линейность изменится в будущем, другие компоненты версии среды выполнения могут повлиять на результат.

API Note:
Выражение для преобразования из строкового значения, например "17", в соответствующую версию исходного кода, RELEASE_17, имеет вид:
SourceVersion.valueOf(Runtime.Version.parse("17"))
Parameters:
rv - версия среды выполнения для сопоставления с версией исходного кода
Returns:
последняя версия исходного кода, которая может быть использована в соответствии с аргументом версии среды выполнения
Throws:
IllegalArgumentException - если свойство feature аргумента версии больше, чем свойство feature платформенной версии.
Since:
18

runtimeVersion

public Runtime.Version runtimeVersion()
Возвращает наименьшую версию среды выполнения, которая поддерживает эту версию исходного кода; в противном случае null. Возвращаемая версия среды выполнения имеет свойство feature, достаточно большое для поддержки этой версии исходного кода, и не имеет других элементов. Версии исходного кода, большие или равные RELEASE_6, имеют не-null результаты.
Returns:
наименьшая версия среды выполнения, которая поддерживает эту версию исходного кода; в противном случае null
Since:
18

© 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.compiler/javax/lang/model/SourceVersion.html

Spec-Zone.ru

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