模块  java.base
软件包  java.lang.module

Class ModuleDescriptor.Version

  • 实现的所有接口
    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 - 如果 vnull ,为空字符串,或者无法解析为版本字符串
      • 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 if且仅当给定对象是等于此模块引用的模块引用时
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString()
        返回解析此版本的字符串。
        重写:
        toString在类 Object
        结果
        解析此版本的字符串。