モジュール java.base
パッケージ java.lang

クラスRuntime.Version

java.lang.Object
java.lang.Runtime.Version
すべての実装されたインタフェース:
Comparable<Runtime.Version>
含まれているクラス:
Runtime

public static final class Runtime.Version
extends Object
implements Comparable<Runtime.Version>
Java SE Platformの実装用のバージョン文字列の表現。 バージョン文字列は、任意にリリース前およびバージョン情報が続くバージョン番号で構成されます。

バージョン番号

「バージョン番号」$VNUMは、ピリオド(U+002E)で区切られた要素の空ではないシーケンスです。 要素は、ゼロまたは先行ゼロのない符号なし整数です。 バージョン番号の最後の要素はゼロであってはなりません。 要素がインクリメントされると、それ以降の要素はすべて削除されます。 書式は次のとおりです。

 [1-9][0-9]*((\.0)*\.[1-9][0-9]*)*
 

シーケンスは任意の長さでも構いませんが、最初の4つの要素には次のように特有の意味が割り当てられます:

 $FEATURE.$INTERIM.$UPDATE.$PATCH
 
  • $FEATURE - フィーチャ・リリース・カウンタは、リリースの内容に関係なく、フィーチャ・リリースごとに増分されます。 フィーチャはフィーチャ・リリースで追加することができます。事前に少なくとも1つの機能のリリースが事前に通知されている場合は、削除することもできます。 正当化された場合、互換性のない変更が行われることがあります。

  • $INTERIM - 暫定リリース・カウンタは、互換性のないバグ修正と拡張機能が含まれていますが、互換性のない変更、機能の削除、および標準APIの変更は含まれていません。

  • $UPDATE - アップデート・リリース・カウンタは、セキュリティ上の問題、回帰、および新しい機能のバグを修正する互換性のあるアップデート・リリースで増やされました。

  • $PATCH - 重大な問題を修正するために緊急リリースを生成する必要がある場合にのみ増加する緊急パッチ・リリース・カウンタ。

バージョン番号の5番目以降の要素は、実装者固有のパッチ・リリースを識別するために、プラットフォーム実装者が自由に使用できます。

バージョン番号はゼロ要素の後ろにはありません。 要素とそれに続くすべての要素が論理的にゼロの場合、それらの要素はすべて省略されます。

バージョン番号内の数字のシーケンスは、数字の点状の別のそのようなシーケンスと比較されます。e.g. 10.0.410.1.2より小さい。 1つのシーケンスが他のシーケンスより短い場合、短いシーケンスの欠けている要素は、長いシーケンスの対応する要素よりも小さいと考えられます。e.g.10.0.210.0.2.1より小さい。

バージョン文字列

「バージョン文字列」$VSTRは、前述したようにバージョン番号 $VNUMであり、オプションでプレ・リリースおよびビルド情報の後に次のフォーマットの1つが続きます:

     $VNUM(-$PRE)?\+$BUILD(-$OPT)?
     $VNUM-$PRE(-$OPT)?
     $VNUM(\+-$OPT)?
 

以下にそれぞれの意味を示します。

  • ([a-zA-Z0-9]+)と一致する$PRE - リリース前の識別子。 一般的には、アクティブ開発中の潜在的に不安定な初期アクセス・リリース、または内部開発者ビルド用のinternalの場合はeaです。

  • (0|[1-9][0-9]*)と一致する$BUILD - ビルド番号。各プロモート・ビルドごとに増分されます。$BUILDは、 $VNUMの任意の部分がインクリメントされると、1にリセットされます。

  • ([-a-zA-Z0-9.]+)と一致する$OPT - 必要に応じて追加のビルド情報。 internalビルドの場合、これにはビルド日時が含まれることがよくあります。

バージョン文字列10-eaは、$VNUM = "10"$PRE = "ea"に一致します。 バージョン文字列10+-eaは、$VNUM = "10"$OPT = "ea"に一致します。

2つのバージョン文字列を比較する場合、$OPTが存在する場合、その値は選択された比較メソッドによって大きくなる場合もありません。 比較メソッドcompareTo()およびcompareToIgnoreOptional()は、対応するメソッドequals()およびequalsIgnoreOptional()と一貫して使用する必要があります。

「短いバージョンの文字列」$SVSTRは、あまりフォーマルでないコンテキストではしばしば有用ですが、バージョン番号の後にオプションでプレ・リリース識別子が続きます:

     $VNUM(-$PRE)?
 

これはvalue-basedクラスです。Versionのインスタンスでのアイデンティティ・センシティブな操作(参照平等(==)、アイデンティティ・ハッシュ・コード、または同期を含む)の使用は、予期しない結果を招く可能性があるため、避けるべきです。

導入されたバージョン:
9
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Optional<Integer> build()
    「ビルド番号」を返します。
    int compareTo​(Runtime.Version obj)
    このバージョンと別のバージョンを比較します。
    int compareToIgnoreOptional​(Runtime.Version obj)
    このバージョンを、オプションのビルド情報を無視して別のバージョンと比較します。
    boolean equals​(Object obj)
    このVersionが別のオブジェクトと等しいかどうかを判定します。
    boolean equalsIgnoreOptional​(Object obj)
    このVersionがオプションのビルド情報を無視するかどうかを決定します。
    int feature()
    バージョン番号のfeature要素の値を返します。
    int hashCode()
    このバージョンのハッシュ・コードを返します。
    int interim()
    バージョン番号のinterim要素の値を返します。存在しない場合はゼロを返します。
    int major()
    Deprecated.
    Java SE 10以降、バージョン番号の最初の要素はメジャー・リリース番号ではなく、機能リリース・カウンタであり、タイム・ベースのリリースごとに増分されています。
    int minor()
    Deprecated.
    Java SE 10以降、バージョン番号の2番目の要素は、マイナー・リリース番号ではなく、暫定リリースごとに増加する暫定リリース・カウンタです。
    Optional<String> optional()
    追加のビルド情報を識別するoptionalを返します。
    static Runtime.Version parse​(String s)
    「バージョン番号」を含む有効な「バージョン文字列」として指定された文字列を解析し、その後にプレ・リリースおよびビルド情報を返します。
    int patch()
    バージョン番号のpatch要素の値を返します。存在しない場合はゼロを返します。
    Optional<String> pre()
    オプションのpre-release情報を返します。
    int security()
    Deprecated.
    Java SE 10以降、バージョン番号の3番目の要素はセキュリティ・レベルではなく、更新リリースごとに増分されるupdate-releaseカウンタです。
    String toString()
    このバージョンの文字列表現を返します。
    int update()
    バージョン番号のupdate要素の値を返します。存在しない場合はゼロを返します。
    List<Integer> version()
    「バージョン番号」で表される整数の変更不可能なListを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClassnotifynotifyAllwaitwaitwait
  • メソッドの詳細

    • parse

      public static Runtime.Version parse​(String s)
      「バージョン番号」を含む有効な「バージョン文字列」として指定された文字列を解析し、その後にプレ・リリースおよびビルド情報を返します。
      パラメータ:
      s - バージョンとして解釈する文字列
      戻り値:
      指定された文字列のバージョン
      例外:
      IllegalArgumentException - 指定された文字列を有効なバージョンとして解釈できない場合
      NullPointerException - 指定された文字列がnull
      NumberFormatException - バージョン番号またはビルド番号の要素をIntegerとして表すことができない場合
    • feature

      public int feature()
      バージョン番号のfeature要素の値を返します。
      戻り値:
      特徴要素の値
      導入されたバージョン:
      10
    • interim

      public int interim()
      バージョン番号のinterim要素の値を返します。存在しない場合はゼロを返します。
      戻り値:
      中間要素の値、またはゼロ
      導入されたバージョン:
      10
    • update

      public int update()
      バージョン番号のupdate要素の値を返します。存在しない場合はゼロを返します。
      戻り値:
      更新要素の値、またはゼロ
      導入されたバージョン:
      10
    • patch

      public int patch()
      バージョン番号のpatch要素の値を返します。存在しない場合はゼロを返します。
      戻り値:
      パッチ要素の値、またはゼロ
      導入されたバージョン:
      10
    • major

      @Deprecated(since="10") public int major()
      Deprecated.
      Java SE 10以降、バージョン番号の最初の要素はメジャー・リリース番号ではなく、機能リリース・カウンタであり、タイム・ベースのリリースごとに増分されています。 このメソッドに優先してfeature()メソッドを使用します。 互換性のために、このメソッドはfeature要素の値を返します。
      バージョン番号の主要な要素の値を返します。
      戻り値:
      特徴要素の値
    • minor

      @Deprecated(since="10") public int minor()
      Deprecated.
      Java SE 10以降、バージョン番号の2番目の要素は、マイナー・リリース番号ではなく、暫定リリースごとに増加する暫定リリース・カウンタです。 このメソッドに優先してinterim()メソッドを使用します。 互換性のために、このメソッドはinterim要素の値を返します。存在しない場合はゼロを返します。
      バージョン番号のマイナー要素の値を返します。存在しない場合はゼロを返します。
      戻り値:
      中間要素の値、またはゼロ
    • security

      @Deprecated(since="10") public int security()
      Deprecated.
      Java SE 10以降、バージョン番号の3番目の要素はセキュリティ・レベルではなく、更新リリースごとに増分されるupdate-releaseカウンタです。 このメソッドに優先してupdate()メソッドを使用します。 互換性のために、このメソッドはupdate要素の値を返します。存在しない場合はゼロを返します。
      バージョン番号のセキュリティ要素の値を返します。存在しない場合は0を返します。
      戻り値:
      更新要素の値、またはゼロ
    • version

      public List<Integer> version()
      「バージョン番号」で表される整数の変更不可能なListを返します。 Listには常に「機能のバージョン番号」に対応する要素が少なくとも1つ含まれています。
      戻り値:
      バージョン番号で表される整数の変更不可能なリスト
    • pre

      public Optional<String> pre()
      オプションのpre-release情報を返します。
      戻り値:
      オプションのプレ・リリース情報を文字列として
    • build

      public Optional<Integer> build()
      「ビルド番号」を返します。
      戻り値:
      オプションのビルド番号。
    • optional

      public Optional<String> optional()
      追加のビルド情報を識別するoptionalを返します。
      戻り値:
      追加のビルド情報を文字列として
    • compareTo

      public int compareTo​(Runtime.Version obj)
      このバージョンと別のバージョンを比較します。

      version内の各コンポーネントは、次の優先順位で比較されます: バージョン番号、リリース前の識別子、ビルド番号、オプションのビルド情報。

      比較は、バージョン番号の順序を調べることから始まります。 一方の配列が他方の配列よりも短い場合、短い配列の欠損した要素は、より長い配列の対応する要素よりも少ないと考えられます。

      リリース前の識別子を持つバージョンは、常に、リリース前の識別子がないバージョンよりも小さいとみなされます。 リリース前の識別子は、数字のみで構成されている場合は数値で比較され、それ以外の場合は辞書編集的に比較されます。 数値識別子は、非数値識別子よりも小さいとみなされます。

      ビルド番号のないバージョンは、ビルド番号を持つバージョンより常に1つ少ないです。そうでなければ、ビルド番号は数値で比較されます。

      オプションのビルド情報は辞書順に比較されます。 この比較の間、オプションのビルド情報を持つバージョンは、バージョンがないバージョンよりも大きいとみなされます。

      定義:
      インタフェースComparable<Runtime.Version>内のcompareTo
      パラメータ:
      obj -比較対象のオブジェクト
      戻り値:
      このVersionが指定されたVersionより小さいか、等しいか、または大きい場合は、負の整数、ゼロまたは正の整数
      例外:
      NullPointerException - 指定されたオブジェクトがnull
    • compareToIgnoreOptional

      public int compareToIgnoreOptional​(Runtime.Version obj)
      このバージョンを、オプションのビルド情報を無視して別のバージョンと比較します。

      オプションのビルド情報が常に無視される点を除いて、compareTo(Version)で説明したバージョン文字列を調べることによって、2つのバージョンを比較します。

      このメソッドは、equalsIgnoreOptional()と一致する順序付けを提供します。

      パラメータ:
      obj -比較対象のオブジェクト
      戻り値:
      このVersionが指定されたVersionより小さいか、等しいか、または大きい場合は、負の整数、ゼロまたは正の整数
      例外:
      NullPointerException - 指定されたオブジェクトがnull
    • toString

      public String toString()
      このバージョンの文字列表現を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      バージョン文字列
    • equals

      public boolean equals​(Object obj)
      このVersionが別のオブジェクトと等しいかどうかを判定します。

      2つのVersionは、同じバージョンの文字列を表す場合にのみ等しくなります。

      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - このVersionを比較する対象のオブジェクト
      戻り値:
      指定されたオブジェクトがこのVersionと同一の Versionである場合にのみ、true
      関連項目:
      Object.hashCode()HashMap
    • equalsIgnoreOptional

      public boolean equalsIgnoreOptional​(Object obj)
      このVersionがオプションのビルド情報を無視するかどうかを決定します。

      2つのVersionは、オプションのビルド情報を無視して同じバージョンの文字列を表す場合に限り、等しくなります。

      パラメータ:
      obj - このVersionを比較する対象のオブジェクト
      戻り値:
      指定されたオブジェクトが、オプションのビルド情報を無視して、このVersionと同一の Versionである場合にのみ、true
    • hashCode

      public int hashCode()
      このバージョンのハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このバージョンのハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)