モジュール java.base
パッケージ 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]*)*
     

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

         $MAJOR.$MINOR.$SECURITY
     
    • $MAJOR --- Java SE Platform Specificationの新版である「例えば、」JSR 337 for Java SE 8で指定されている重要な新機能を含むメジャー・リリース用に増えたメジャー・バージョン番号。 機能はメジャー・リリースで削除される可能性があります。事前にメジャー・リリースが少なくとも1つは事前に通知されており、正当化されると互換性のない変更が行われる可能性があります。 JDK 8の$MAJORバージョン番号は8です。JDK 9の$MAJORバージョン番号は9です。 $MAJORがインクリメントされると、その後のすべての要素が削除されます。

    • $MINOR ---マイナー・バージョン番号。互換性のあるバグ修正、関連するプラットフォーム仕様の「メンテナンス・リリース」によって標準化されている標準APIの改訂版、および新しいJDK-追加のサービス・プロバイダ、新しいガベージ・コレクタ、新しいハードウェア・アーキテクチャへのポートなど、さまざまな機能を提供します。

    • $SECURITY ---セキュリティを向上させるために必要な修正を含む重要な修正が含まれているセキュリティ更新プログラムのリリースで増分されたセキュリティ・レベル。$MINORがインクリメントされると、$SECURITYはリセットされません。 したがって、指定された$MAJOR値に対する$SECURITYの値が高いほど、$MINORの値に関係なく、より安全なリリースを示します。

    バージョン番号の4番目以降の要素は、このコードベースの下流のコンシューマが自由に使用できます。 そのような消費者は、「例えば、」、第4の要素を使用して、対応するセキュリティ・リリースのセキュリティ修正に加えて、少数のクリティカルな非セキュリティ修正を含むパッチ・リリースを特定することができます。

    バージョン番号には、後続のゼロ要素は含まれません。「すなわち、」の場合、$SECURITYは値0の場合は省略され、$MINOR $SECURITYの両方が値0の場合は省略されます。

    バージョン番号中の数字のシーケンスは、数値的に点状に他のそのようなシーケンスと比較される。「例えば、」 9.9.19.10.3より小さい。 ある配列が他の配列よりも短い場合、短い配列の欠損した要素は、より長い配列の対応する要素よりも小さいと考えられる。「例えば、」9.1.29.1.2.1より小さい。

    バージョン文字列

    「バージョン文字列」$VSTRは、上記のバージョン番号$VNUMで構成され、オプションでプレ・リリースおよびビルド情報の後に次の形式のいずれかが続きます:

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

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

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

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

    • $OPT、matching ([-a-zA-Z0-9.]+) ---必要に応じて追加のビルド情報。 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
    • メソッドの詳細

      • major

        public int major​()
        majorのバージョン番号を返します。
        戻り値:
        メジャー・バージョン番号
      • minor

        public int minor​()
        minorのバージョン番号を返します。設定されていない場合は0を返します。
        戻り値:
        マイナー・バージョン番号または設定されていない場合は0
      • security

        public int security​()
        securityのバージョン番号を返します。設定されていない場合は0を返します。
        戻り値:
        セキュリティ・バージョン番号または設定されていない場合は0
      • pre

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