Spec-Zone.ru › OpenJDK 24

Перечисление 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_22
Версия, представленная в Java Platform, Standard Edition 22.
RELEASE_23
Версия, представленная в Java Platform, Standard Edition 23.
RELEASE_24
Версия, представленная в Java Platform, Standard Edition 24.
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™ с перечислениями, автоупаковкой, улучшенными циклами for и статическим импортом

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-with-resources, строки в операторе switch, двоичные литералы и многократный catch.
С:
1.7
См. также:
  • Спецификация языка Java, Java SE 7 Edition
  • JSR 334: Небольшие улучшения языка программирования Java™

RELEASE_8

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

RELEASE_9

public static final SourceVersion RELEASE_9
Версия, представленная платформой Java Platform, Standard Edition 9. Дополнения в этой версии включают модули и удаление одиночного подчеркивания из набора допустимых идентификаторов.
С:
9
См. также:
  • Спецификация языка Java, Java SE 9 Edition
  • 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 Edition
  • JEP 286: Вывод типов локальных переменных

RELEASE_11

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

RELEASE_12

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

RELEASE_13

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

RELEASE_14

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

RELEASE_15

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

RELEASE_16

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

RELEASE_17

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

RELEASE_18

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

RELEASE_19

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

RELEASE_20

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

RELEASE_21

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

RELEASE_22

public static final SourceVersion RELEASE_22
Версия, введённая платформой Java Platform, Standard Edition 22. В этот релиз добавлены безымянные переменные и безымянные шаблоны.
Since:
22
See Also:
  • Спецификация языка Java, издание Java SE 22
  • JEP 456: Безымянные переменные и шаблоны

RELEASE_23

public static final SourceVersion RELEASE_23
Версия, введённая платформой Java Platform, Standard Edition 23.
Since:
23
See Also:
  • Спецификация языка Java, издание Java SE 23

RELEASE_24

public static final SourceVersion RELEASE_24
Версия, введённая платформой Java Platform, Standard Edition 24.
Since:
24
See Also:
  • Спецификация языка Java, издание Java SE 24

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

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. Этот шаблон соответствует обычным идентификаторам, ключевым словам, контекстным ключевым словам, булевым литералам и литералу null. Метод возвращает false для всех других строк.
Parameters:
name - строка для проверки
Returns:
true, если эта строка является синтаксически допустимым идентификатором или ключевым словом, false в противном случае.
See Java Language Specification:
3.8 Идентификаторы

isName

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

isName

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

isKeyword

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

isKeyword

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

valueOf

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

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

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

runtimeVersion

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

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

Spec-Zone.ru

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