Module java.compiler
Package javax.lang.model

Enum Class 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
另请参见:
  • Enum Constant Details

  • Method Details

    • values

      public static SourceVersion[] values()
      返回包含此枚举类的常量的数组,按照它们声明的顺序排列。
      返回:
      包含此枚举类的常量的数组,按照它们声明的顺序排列
    • valueOf

      public static SourceVersion valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与在此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为null
    • latest

      public static SourceVersion latest()
      返回可以建模的最新源版本。
      返回:
      可以建模的最新源版本
    • latestSupported

      public static SourceVersion latestSupported()
      返回当前执行环境完全支持的最新源版本。必须返回RELEASE_9或更高版本。
      API注释:
      此方法与latest()一起包含,以便识别语言模型API在运行在与API建模的最新版本不同的平台版本的情况。这种情况发生的一种方式是,如果IDE或类似工具正在使用API来模拟源版本N,而运行在平台版本(N - 1)上。API支持在此配置下运行。在平台版本早于(N - 1)或晚于N上运行API可能会或可能不会作为实现细节工作。如果注解处理器正在生成代码以在当前执行环境下运行,则处理器应仅使用直到latestSupported版本的平台功能,该版本可能早于latest版本。
      返回:
      当前执行环境完全支持的最新源版本
    • isIdentifier

      public static boolean isIdentifier(CharSequence name)
      返回name是否是最新源版本中的语法有效标识符(简单名称)或关键字。如果名称由Character.isJavaIdentifierStart(int)返回true的初始字符组成,后跟仅由Character.isJavaIdentifierPart(int)返回true的字符,则该方法返回true。此模式匹配常规标识符、关键字、上下文关键字和文字"true""false""null"。对于所有其他字符串,该方法返回false
      参数:
      name - 要检查的字符串
      返回:
      如果此字符串是语法有效的标识符或关键字,则返回true,否则返回false
      参见Java语言规范
      3.8 标识符
    • isName

      public static boolean isName(CharSequence name)
      返回name是否是最新源版本中的语法有效限定名称。从语法上讲,限定名称是由句点字符(".")分隔的一系列标识符。此方法将输入字符串拆分为以句点分隔的段,并依次对每个段应用检查。与isIdentifier不同,此方法对任何段中的关键字、布尔文字和null文字返回false。对于上下文关键字,此方法返回true
      参数:
      name - 要检查的字符串
      返回:
      如果此字符串是语法有效的名称,则返回true,否则返回false
      参见Java语言规范
      3.9 关键字
      6.2 名称和标识符
    • isName

      public static boolean isName(CharSequence name, SourceVersion version)
      返回name在给定源版本中是否是语法有效的限定名称。从语法上讲,限定名称是由句点字符(".")分隔的一系列标识符。此方法将输入字符串拆分为以句点分隔的段,并依次对每个段应用检查。与isIdentifier不同,此方法对任何段中的关键字、布尔文字和null文字返回false。对于上下文关键字,此方法返回true
      参数:
      name - 要检查的字符串
      version - 要使用的版本
      返回:
      如果此字符串是语法有效的名称,则返回true,否则返回false
      参见Java语言规范
      3.9 关键字
      6.2 名称和标识符
      自从:
      9
    • isKeyword

      public static boolean isKeyword(CharSequence s)
      返回s在最新源版本中是否是关键字、布尔文字或null文字。此方法对上下文关键字返回false
      参数:
      s - 要检查的字符串
      返回:
      如果s是关键字、布尔文字或null文字,则返回true,否则返回false
      参见Java语言规范
      3.9 关键字
      3.10.3 布尔文字
      3.10.8 null文字
    • isKeyword

      public static boolean isKeyword(CharSequence s, SourceVersion version)
      返回s在给定源版本中是否是关键字、布尔文字或null文字。此方法对上下文关键字返回false
      参数:
      s - 要检查的字符串
      version - 要使用的版本
      返回:
      如果s是关键字、布尔文字或null文字,则返回true,否则返回false
      参见Java语言规范
      3.9 关键字
      3.10.3 布尔文字
      3.10.8 null文字
      自从:
      9
    • valueOf

      public static SourceVersion valueOf(Runtime.Version rv)
      返回可在运行时版本参数下使用的最新源版本。如果运行时版本的特性大于最新源版本运行时版本的特性,则会抛出IllegalArgumentException异常。

      因为Java编程语言的源版本迄今为止一直遵循线性进展,所以只查询运行时版本的特性组件以确定映射到源版本。如果将来这种线性关系发生变化,运行时版本的其他组件可能会影响结果。

      API 注意:
      一个将字符串值(例如"17")转换为相应源版本RELEASE_17的表达式是:
      SourceVersion.valueOf(Runtime.Version.parse("17"))
      参数:
      rv - 要映射到源版本的运行时版本
      返回:
      可在运行时版本参数下使用的最新源版本
      抛出:
      IllegalArgumentException - 如果版本参数的特性大于平台版本的特性。
      自版本:
      18
    • runtimeVersion

      public Runtime.Version runtimeVersion()
      返回支持此源版本的最低运行时版本;否则返回null。返回的运行时版本具有足够支持此源版本的特性,并且没有设置其他元素。大于或等于RELEASE_6的源版本具有非null的结果。
      返回:
      支持此源版本的最低运行时版本;否则返回null
      自版本:
      18