Перечисление SourceVersion
- Все реализованные интерфейсы:
-
Serializable,Comparable<SourceVersion>,Constable
public enum SourceVersion extends Enum<SourceVersion>
Обратите внимание, что будут добавлены дополнительные константы версий для моделирования будущих релизов языка.
- С момента:
- 1.6
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе 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 |
Возвращает, является ли name синтаксически допустимым идентификатором (простым именем) или ключевым словом в последней версии. |
static boolean |
isKeyword |
Возвращает, является ли s ключевым словом, булевым литералом или литералом null в последней версии. |
static boolean |
isKeyword |
Возвращает, является ли s ключевым словом, булевым литералом или литералом null в заданной версии. |
static boolean |
isName |
Возвращает, является ли name синтаксически допустимым квалифицированным именем в последней версии. |
static boolean |
isName |
Возвращает, является ли name синтаксически допустимым квалифицированным именем в заданной версии. |
static SourceVersion |
latest() |
Возвращает последнюю модельную версию. |
static SourceVersion |
latestSupported() |
Возвращает последнюю версию, полностью поддерживаемую текущей средой выполнения. |
Runtime.Version |
runtimeVersion() |
Возвращает наименьшую версию среды выполнения, поддерживающую эту версию; в противном случае null. |
static SourceVersion |
valueOf |
Возвращает последнюю версию, пригодную для использования в заданной версии среды выполнения. |
static SourceVersion |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static SourceVersion[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробности констант перечисления
RELEASE_0
public static final SourceVersion RELEASE_0
RELEASE_1
public static final SourceVersion RELEASE_1
RELEASE_0 дополнен вложенными классами, как описано в обновлении 1.1 Спецификации языка Java, первое издание.RELEASE_2
public static final SourceVersion RELEASE_2
strictfp.RELEASE_3
public static final SourceVersion RELEASE_3
RELEASE_2.RELEASE_4
public static final SourceVersion RELEASE_4
- См. также:
RELEASE_5
public static final SourceVersion RELEASE_5
for цикл и шестнадцатеричные литералы с плавающей запятой.- См. также:
RELEASE_6
public static final SourceVersion RELEASE_6
RELEASE_5.- См. также:
RELEASE_7
public static final SourceVersion RELEASE_7
try-с-ресурсами, строки в операторе switch, двоичные литералы и многократный catch.- С:
- 1.7
- См. также:
RELEASE_8
public static final SourceVersion RELEASE_8
- С:
- 1.8
- См. также:
RELEASE_9
public static final SourceVersion RELEASE_9
- С:
- 9
- См. также:
RELEASE_10
public static final SourceVersion RELEASE_10
var).- С:
- 10
- См. также:
RELEASE_11
public static final SourceVersion RELEASE_11
- С:
- 11
- См. также:
RELEASE_12
public static final SourceVersion RELEASE_12
- С:
- 12
- См. также:
RELEASE_13
public static final SourceVersion RELEASE_13
- С:
- 13
- См. также:
RELEASE_14
public static final SourceVersion RELEASE_14
- С:
- 14
- См. также:
RELEASE_15
public static final SourceVersion RELEASE_15
- С:
- 15
- См. также:
RELEASE_16
public static final SourceVersion RELEASE_16
instanceof.- С:
- 16
- См. также:
RELEASE_17
public static final SourceVersion RELEASE_17
- С:
- 17
- См. также:
RELEASE_18
public static final SourceVersion RELEASE_18
- С:
- 18
- См. также:
RELEASE_19
public static final SourceVersion RELEASE_19
- С:
- 19
- См. также:
RELEASE_20
public static final SourceVersion RELEASE_20
- С:
- 20
- См. также:
RELEASE_21
public static final SourceVersion RELEASE_21
switch.- Since:
- 21
- See Also:
Подробное описание методов
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)
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