モジュール 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]*)*
     

    シーケンスは任意の長さでも構いませんが、最初の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
    • メソッドの詳細

      • 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()
        非推奨。
        Java SE 10以降、バージョン番号の最初の要素はメジャー・リリース番号ではなく、機能リリース・カウンタであり、タイム・ベースのリリースごとに増分されています。 このメソッドに優先してfeature()メソッドを使用します。 互換性のために、このメソッドはfeature要素の値を返します。
        バージョン番号の主要な要素の値を返します。
        戻り値:
        特徴要素の値
      • minor

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

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