Module  java.base
软件包  java.lang.module

Class 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 - 如果 vnullnull空字符串,或无法解析为版本字符串
      • compareTo

        public int compareTo​(ModuleDescriptor.Version that)
        将此模块版本与其他模块版本进行比较。 模块版本按照类描述中的描述进行比较。
        Specified by:
        compareTo在接口 Comparable<ModuleDescriptor.Version>
        参数
        that - 要比较的模块版本
        结果
        该模块版本小于等于或大于给定模块版本的负整数,零或正整数
      • equals

        public boolean equals​(Object ob)
        测试此模块版本与给定对象的相等性。

        如果给定的对象不是一个Version那么这个方法返回false 如果两个模块的相应组件相等,则两个模块版本相同。

        该方法满足Object.equals方法的一般合同。

        重写:
        equalsObject
        参数
        ob - 要比较此对象的对象
        结果
        true如果并且只有给定的对象是等于该模块引用的模块引用
        另请参见:
        Object.hashCode()HashMap
      • toString

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