- java.lang.Object
-
- java.lang.module.ModuleDescriptor.Version
-
- All Implemented Interfaces:
-
Comparable<ModuleDescriptor.Version>
- Enclosing class:
- ModuleDescriptor
public static final class ModuleDescriptor.Version extends Object implements Comparable<ModuleDescriptor.Version>
模块的版本字符串。版本字符串有三个组件:版本号本身,可选的预发行版本和可选的构建版本。 每个组件是令牌序列; 每个令牌都是非负整数或一个字符串。 令牌由标点符号字符分隔
'.'
,'-'
,或'+'
,或者通过转换从数字序列到既不是数字也不标点符号,或反之亦然的字符序列。- 版本号是由
'.'
字符分隔的令牌序列,由第一个'-'
或'+'
字符终止。 - 预发行版本是由
'.'
或'-'
字符分隔的令牌序列,由第一个'+'
字符终止。 - 生成版本是由分隔的标记的序列
'.'
,'-'
,或'+'
字符。
当比较两个版本字符串时,将以相应的方式比较其对应组件的元素。 如果一个组件比另一个组件长,否则等于它,则第一个组件被认为是两个组件中的较大者; 否则,如果两个对应的元素是整数,那么它们将被相互比较; 否则,至少有一个元素是一个字符串,所以如果它是一个整数,另一个被转换成一个字符串,并且这两个元素在字面上进行比较。 值为零的跟踪整数元素将被忽略。
给定两个版本字符串,如果它们的版本号不同,那么比较它们的结果是比较版本号的结果; 否则,如果其中一个具有预发行版本,而另一个则不是第一个,则第一个被认为在第二个版本之前,否则比较它们的结果是比较其预发布版本的结果; 否则,比较它们的结果是比较其构建版本的结果。
- 从以下版本开始:
- 9
- 另请参见:
-
ModuleDescriptor.version()
-
-
方法详细信息
-
parse
public static ModuleDescriptor.Version parse(String v)
将给定的字符串解析为版本字符串。- 参数
-
v
- 要解析的字符串 - 结果
-
得到的
Version
- 异常
-
IllegalArgumentException
- 如果v
为null
,null
空字符串,或无法解析为版本字符串
-
compareTo
public int compareTo(ModuleDescriptor.Version that)
将此模块版本与其他模块版本进行比较。 模块版本按照类描述中的描述进行比较。- Specified by:
-
compareTo
在接口Comparable<ModuleDescriptor.Version>
- 参数
-
that
- 要比较的模块版本 - 结果
- 该模块版本小于等于或大于给定模块版本的负整数,零或正整数
-
equals
public boolean equals(Object ob)
测试此模块版本与给定对象的相等性。如果给定的对象不是一个
Version
那么这个方法返回false
。 如果两个模块的相应组件相等,则两个模块版本相同。该方法满足
Object.equals
方法的一般合同。- 重写:
-
equals
在Object
- 参数
-
ob
- 要比较此对象的对象 - 结果
-
true
如果并且只有给定的对象是等于该模块引用的模块引用 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
计算此模块版本的哈希码。哈希码基于版本的组件,并满足
Object.hashCode
方法的一般合同。- 重写:
-
hashCode
在Object
- 结果
- 该模块版本的哈希码值
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-