- 所有已实现的接口:
-
Serializable
,Comparable<SourceVersion>
,Constable
Java编程语言的源版本。有关特定源版本的信息,请参阅适当版本的《Java语言规范》。
请注意,将会添加额外的源版本常量以模拟将来发布的语言版本。
- 自:
- 1.6
- 另请参见:
-
Nested Class Summary
Nested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescription最初版本。Java平台1.1引入的版本。Java平台标准版10引入的版本。Java平台标准版11引入的版本。Java平台标准版12引入的版本。Java平台标准版13引入的版本。Java平台标准版14引入的版本。Java平台标准版15引入的版本。Java平台标准版16引入的版本。Java平台标准版17引入的版本。Java平台标准版18引入的版本。Java平台标准版19引入的版本。Java 2平台标准版v 1.2引入的版本。Java平台标准版20引入的版本。Java平台标准版21引入的版本。Java 2平台标准版v 1.3引入的版本。Java 2平台标准版v 1.4引入的版本。Java 2平台标准版5.0引入的版本。Java平台标准版6引入的版本。Java平台标准版7引入的版本。Java平台标准版8引入的版本。Java平台标准版9引入的版本。 -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
isIdentifier
(CharSequence name) 返回name
是否是最新源版本中的语法有效标识符(简单名称)或关键字。static boolean
返回s
是否是最新源版本中的关键字、布尔文字或空文字。static boolean
isKeyword
(CharSequence s, SourceVersion version) 返回s
是否是给定源版本中的关键字、布尔文字或空文字。static boolean
isName
(CharSequence name) 返回name
是否是最新源版本中的语法有效限定名称。static boolean
isName
(CharSequence name, SourceVersion version) 返回name
是否是给定源版本中的语法有效限定名称。static SourceVersion
latest()
返回可以模拟的最新源版本。static SourceVersion
返回当前执行环境完全支持的最新源版本。返回支持此源版本的最低运行时版本;否则返回null
。static SourceVersion
返回在运行时版本参数下可用的最新源版本。static SourceVersion
返回具有指定名称的此类的枚举常量。static SourceVersion[]
values()
返回包含此枚举类的常量的数组,按照它们声明的顺序排列。
-
Enum Constant Details
-
RELEASE_0
最初版本。《Java语言规范第一版》中描述的语言。 -
RELEASE_1
Java平台1.1引入的版本。语言是RELEASE_0
,根据《Java语言规范第一版》的1.1更新增加了嵌套类。 -
RELEASE_2
Java 2平台标准版v 1.2引入的版本。《Java语言规范第二版》中描述的语言,包括strictfp
修饰符。 -
RELEASE_3
Java 2平台标准版v 1.3引入的版本。与RELEASE_2
没有主要变化。 -
RELEASE_4
Java 2平台标准版v 1.4引入的版本。增加了简单的断言功能。- 另请参见:
-
RELEASE_5
Java 2平台标准版5.0引入的版本。《Java语言规范第三版》中描述的语言。首个支持泛型、注解、自动装箱、可变参数、增强的for
循环和十六进制浮点文字的发布。- 另请参见:
-
RELEASE_6
Java平台标准版6引入的版本。与RELEASE_5
没有主要变化。- 另请参见:
-
RELEASE_7
Java平台标准版7引入的版本。此版本中的新增功能包括构造函数的钻石语法、try
-with-resources、switch中的字符串、二进制文字和多重捕获。- 自:
- 1.7
- 另请参见:
-
RELEASE_8
Java平台标准版8引入的版本。此版本中的新增功能包括lambda表达式和默认方法。- 自:
- 1.8
- 另请参见:
-
RELEASE_9
Java平台标准版9引入的版本。此版本中的新增功能包括模块和从合法标识符名称集中删除单个下划线。- 自:
- 9
- 另请参见:
-
RELEASE_10
Java平台标准版10引入的版本。此版本中的新增功能包括局部变量类型推断(var
)。- 自:
- 10
- 另请参见:
-
RELEASE_11
Java平台标准版11引入的版本。此版本中的新增功能包括lambda参数的局部变量语法。- 自:
- 11
- 另请参见:
-
RELEASE_12
Java平台标准版12引入的版本。与先前版本相比没有主要变化。- 自:
- 12
- 另请参见:
-
RELEASE_13
Java平台标准版13引入的版本。与先前版本相比没有主要变化。- 自:
- 13
- 另请参见:
-
RELEASE_14
Java平台标准版14引入的版本。此版本中的新增功能包括switch表达式。- 自:
- 14
- 另请参见:
-
RELEASE_15
Java平台标准版15引入的版本。此版本中的新增功能包括文本块。- 自从:
- 15
- 参见:
-
RELEASE_16
Java平台标准版16引入的版本。此版本的新增内容包括记录(records)和模式匹配用于instanceof
。- 自从:
- 16
- 参见:
-
RELEASE_17
Java平台标准版17引入的版本。此版本的新增内容包括封闭类(sealed classes)和恢复始终严格的浮点语义。- 自从:
- 17
- 参见:
-
RELEASE_18
Java平台标准版18引入的版本。与之前的版本相比,此版本没有重大变化。- 自从:
- 18
- 参见:
-
RELEASE_19
Java平台标准版19引入的版本。与之前的版本相比,此版本没有重大变化。- 自从:
- 19
- 参见:
-
RELEASE_20
Java平台标准版20引入的版本。与之前的版本相比,此版本没有重大变化。- 自从:
- 20
- 参见:
-
RELEASE_21
Java平台标准版21引入的版本。此版本的新增内容包括记录模式和模式匹配用于switch
。- 自从:
- 21
- 参见:
-
-
Method Details
-
values
返回包含此枚举类的常量的数组,按照它们声明的顺序排列。- 返回:
- 包含此枚举类的常量的数组,按照它们声明的顺序排列
-
valueOf
返回具有指定名称的此类的枚举常量。字符串必须与在此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)- 参数:
-
name
- 要返回的枚举常量的名称。 - 返回:
- 具有指定名称的枚举常量
- 抛出:
-
IllegalArgumentException
- 如果此枚举类没有具有指定名称的常量 -
NullPointerException
- 如果参数为null
-
latest
返回可以建模的最新源版本。- 返回:
- 可以建模的最新源版本
-
latestSupported
返回当前执行环境完全支持的最新源版本。必须返回RELEASE_9
或更高版本。- API注释:
-
此方法与
latest()
一起包含,以便识别语言模型API在运行在与API建模的最新版本不同的平台版本的情况。这种情况发生的一种方式是,如果IDE或类似工具正在使用API来模拟源版本N,而运行在平台版本(N - 1)上。API支持在此配置下运行。在平台版本早于(N - 1)或晚于N上运行API可能会或可能不会作为实现细节工作。如果注解处理器正在生成代码以在当前执行环境下运行,则处理器应仅使用直到latestSupported
版本的平台功能,该版本可能早于latest
版本。 - 返回:
- 当前执行环境完全支持的最新源版本
-
isIdentifier
返回name
是否是最新源版本中的语法有效标识符(简单名称)或关键字。如果名称由Character.isJavaIdentifierStart(int)
返回true
的初始字符组成,后跟仅由Character.isJavaIdentifierPart(int)
返回true
的字符,则该方法返回true
。此模式匹配常规标识符、关键字、上下文关键字和文字"true"
、"false"
、"null"
。对于所有其他字符串,该方法返回false
。- 参数:
-
name
- 要检查的字符串 - 返回:
-
如果此字符串是语法有效的标识符或关键字,则返回
true
,否则返回false
。 - 参见Java语言规范:
-
3.8 标识符
-
isName
返回name
是否是最新源版本中的语法有效限定名称。从语法上讲,限定名称是由句点字符(".
")分隔的一系列标识符。此方法将输入字符串拆分为以句点分隔的段,并依次对每个段应用检查。与isIdentifier
不同,此方法对任何段中的关键字、布尔文字和null文字返回false
。对于上下文关键字,此方法返回true
。- 参数:
-
name
- 要检查的字符串 - 返回:
-
如果此字符串是语法有效的名称,则返回
true
,否则返回false
。 - 参见Java语言规范:
-
3.9 关键字
6.2 名称和标识符
-
isName
返回name
在给定源版本中是否是语法有效的限定名称。从语法上讲,限定名称是由句点字符(".
")分隔的一系列标识符。此方法将输入字符串拆分为以句点分隔的段,并依次对每个段应用检查。与isIdentifier
不同,此方法对任何段中的关键字、布尔文字和null文字返回false
。对于上下文关键字,此方法返回true
。- 参数:
-
name
- 要检查的字符串 -
version
- 要使用的版本 - 返回:
-
如果此字符串是语法有效的名称,则返回
true
,否则返回false
。 - 参见Java语言规范:
-
3.9 关键字
6.2 名称和标识符
- 自从:
- 9
-
isKeyword
返回s
在最新源版本中是否是关键字、布尔文字或null文字。此方法对上下文关键字返回false
。- 参数:
-
s
- 要检查的字符串 - 返回:
-
如果
s
是关键字、布尔文字或null文字,则返回true
,否则返回false
。 - 参见Java语言规范:
-
3.9 关键字
3.10.3 布尔文字
3.10.8 null文字
-
isKeyword
返回s
在给定源版本中是否是关键字、布尔文字或null文字。此方法对上下文关键字返回false
。- 参数:
-
s
- 要检查的字符串 -
version
- 要使用的版本 - 返回:
-
如果
s
是关键字、布尔文字或null文字,则返回true
,否则返回false
。 - 参见Java语言规范:
-
3.9 关键字
3.10.3 布尔文字
3.10.8 null文字
- 自从:
- 9
-
valueOf
返回可在运行时版本参数下使用的最新源版本。如果运行时版本的特性大于最新源版本的运行时版本的特性,则会抛出IllegalArgumentException
异常。因为Java编程语言的源版本迄今为止一直遵循线性进展,所以只查询运行时版本的特性组件以确定映射到源版本。如果将来这种线性关系发生变化,运行时版本的其他组件可能会影响结果。
- API 注意:
-
一个将字符串值(例如
"17"
)转换为相应源版本RELEASE_17
的表达式是:SourceVersion.valueOf(Runtime.Version.parse("17"))
- 参数:
-
rv
- 要映射到源版本的运行时版本 - 返回:
- 可在运行时版本参数下使用的最新源版本
- 抛出:
-
IllegalArgumentException
- 如果版本参数的特性大于平台版本的特性。 - 自版本:
- 18
-
runtimeVersion
- 返回:
-
支持此源版本的最低运行时版本;否则返回
null
- 自版本:
- 18
-