模块 java.base

类 ModuleDescriptor.Version

java.lang.Object
java.lang.module.ModuleDescriptor.Version
所有已实现的接口:
Comparable<ModuleDescriptor.Version>
封闭类:
ModuleDescriptor

public static final class ModuleDescriptor.Version extends Object implements Comparable <ModuleDescriptor.Version >
模块的版本字符串。

版本字符串包含三个部分:版本号本身、可选的预发布版本和可选的构建版本。每个组件都是一系列标记;每个标记要么是一个非负整数,要么是一个字符串。标记由标点字符 '.''-''+' 分隔,或者通过从数字序列到既不是数字也不是标点字符的字符序列的转换,反之亦然。连续重复的标点字符被视为单个标点字符。

  • 版本号是由 '.' 个字符分隔的标记序列,由第一个 '-' '+' 个字符终止。
  • 预发布版本是由 '.''-' 字符分隔的标记序列,由第一个 '+' 字符终止。
  • 构建版本是由 '.''-''+' 字符分隔的一系列标记。

当比较两个版本字符串时,它们对应组件的元素以逐点方式进行比较。如果一个组件比另一个长,但在其他方面等于它,则第一个组件被认为是两者中较大的一个;否则,如果两个对应的元素是整数,那么它们就这样进行比较;否则,至少有一个元素是字符串,所以如果另一个是整数,则将另一个转换为字符串,并按字典顺序比较两者。值为零的尾随整数元素将被忽略。

给定两个版本字符串,如果它们的版本号不同则比较它们的结果就是比较它们的版本号的结果;否则,如果其中一个有预发布版本而另一个没有,则认为第一个在第二个之前,否则比较它们的结果就是比较它们的预发布版本的结果;否则,比较它们的结果就是比较它们的构建版本的结果。

自从:
9
参见:
  • 方法详情

    • parse

      public static ModuleDescriptor.Version  parse(String  v)
      将给定的字符串解析为版本字符串。
      参数:
      v - 要解析的字符串
      返回:
      结果Version
      抛出:
      IllegalArgumentException - 如果 vnull ,一个空字符串,或者不能被解析为版本字符串
    • compareTo

      public int compareTo(ModuleDescriptor.Version  that)
      将此模块版本与另一个模块版本进行比较。模块版本按照类描述中的描述进行比较。
      指定者:
      compareTo 在接口 Comparable<ModuleDescriptor.Version>
      参数:
      that - 要比较的模块版本
      返回:
      负整数、零或正整数,因为此模块版本小于、等于或大于给定模块版本
    • equals

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

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

      此方法满足Object.equals 方法的一般契约。

      重写:
      equals 在类 Object
      参数:
      ob - 此对象要与之比较的对象
      返回:
      true 当且仅当给定对象是等于此模块引用的模块引用
      参见:
    • hashCode

      public int hashCode()
      计算此模块版本的哈希码。

      哈希码基于版本的组件并满足 Object.hashCode 方法的一般合同。

      重写:
      hashCode 在类 Object
      返回:
      此模块版本的哈希码值
      参见:
    • toString

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