java.lang.Object
java.lang.module.ModuleDescriptor.Version
- 所有已实现的接口:
-
Comparable<ModuleDescriptor.Version>
- 封装类:
-
ModuleDescriptor
public static final class ModuleDescriptor.Version extends Object implements Comparable<ModuleDescriptor.Version>
模块的版本字符串。
版本字符串有三个组成部分:版本号本身,可选的预发布版本和可选的构建版本。每个组件都是一个令牌序列;每个令牌都是非负整数或字符串。令牌由标点字符'.'
、'-'
或'+'
分隔,或者由从数字序列到既不是数字也不是标点字符的字符序列的转换,反之亦然。连续重复的标点字符被视为单个标点字符。
- 版本号是由
'.'
字符分隔的令牌序列,以第一个'-'
或'+'
字符终止。 - 预发布版本是由
'.'
或'-'
字符分隔的令牌序列,以第一个'+'
字符终止。 - 构建版本是由
'.'
、'-'
或'+'
字符分隔的令牌序列。
比较两个版本字符串时,将逐点比较它们对应组件的元素。如果一个组件比另一个组件长,但除此之外相等,则第一个组件被视为两者中较大的;否则,如果两个对应元素是整数,则将它们作为整数进行比较;否则,至少有一个元素是字符串,因此如果另一个元素是整数,则将其转换为字符串并按字典顺序进行比较。值为零的尾随整数元素将被忽略。
给定两个版本字符串,如果它们的版本号不同,则比较它们的结果是比较它们的版本号;否则,如果其中一个具有预发布版本但另一个没有,则第一个被认为在第二个之前,否则比较它们的结果是比较它们的预发布版本;否则,比较它们的结果是比较它们的构建版本。
- 自 JDK 9 起:
- 9
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionint
将此模块版本与另一个模块版本进行比较。boolean
测试此模块版本与给定对象是否相等。int
hashCode()
为此模块版本计算哈希码。static ModuleDescriptor.Version
将给定字符串解析为版本字符串。toString()
返回解析此版本的字符串。
-
Method Details
-
parse
将给定字符串解析为版本字符串。- 参数:
-
v
- 要解析的字符串 - 返回:
-
结果
Version
- 抛出:
-
IllegalArgumentException
- 如果v
为null
、空字符串或无法解析为版本字符串
-
compareTo
将此模块版本与另一个模块版本进行比较。模块版本按类描述中描述的方式进行比较。- 指定者:
-
compareTo
在接口Comparable<ModuleDescriptor.Version>
- 参数:
-
that
- 要比较的模块版本 - 返回:
- 如果此模块版本小于、等于或大于给定模块版本,则为负整数、零或正整数
-
equals
测试此模块版本与给定对象是否相等。如果给定对象不是
Version
,则此方法返回false
。如果两个模块版本的对应组件相等,则它们相等。此方法满足
Object.equals
方法的一般约定。 -
hashCode
public int hashCode()为此模块版本计算哈希码。哈希码基于版本的组件,并满足
Object.hashCode
方法的一般约定。 -
toString
返回解析此版本的字符串。
-