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

クラスRuntime.Version

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

    public static final class Runtime.Version
    extends Object
    implements Comparable<Runtime.Version>
    Java SEプラットフォームの実装のためのバージョン文字列の表現。 バージョン文字列は、バージョン番号とそれに続くプレリリースおよびビルド情報で構成されます。

    バージョン番号

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

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

    シーケンスの長さは任意ですが、最初の4つの要素には、次のように特定の意味が割り当てられます。

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

    • $INTERIM - 互換性のあるバグ修正および拡張機能を含むが、互換性のない変更、機能の削除、および標準APIへの変更がない非機能リリースに対して増分された暫定リリース・カウンタ。

    • $UPDATE - 更新リリースカウンタ。新しい機能のセキュリティー問題、リグレッション、およびバグを修正する互換性のある更新リリース用に増分されます。

    • $PATCH - 緊急パッチ・リリース・カウンタ。クリティカルな問題を修正するために緊急リリースを生成する必要がある場合にのみ増分されます。

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

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

    バージョン番号の数値のシーケンスは、数値、ポイント単位の方法で、このような別のシーケンスと比較されます。 10.0.410.1.2未満です。 ある順序が別の順序より短い場合、短い順序の欠落要素は、長い順序の対応する要素より小さいとみなされます。10.0.210.0.2.1より小さいです。

    バージョン文字列

    バージョン文字列($VSTR)は、前述のバージョン番号 $VNUMで、オプションでプレリリースおよびビルド情報が次の形式のいずれかで続きます。

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

    説明:

    • $PRE、一致([a-zA-Z0-9]+) - リリース前識別子。 通常、eaは、アクティブな開発下で不安定な早期アクセス・リリースの場合、または内部開発者ビルドの場合はinternalです。

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

    • $OPT、一致([-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)?
     

    これは値ベース・クラスです。Versionのインスタンスでのアイデンティティ依存操作(参照等価(==)、アイデンティティ・ハッシュ・コードまたは同期を含む)の使用は、予測できない結果になる可能性があるため、避ける必要があります。

    導入されたバージョン:
    9
    • メソッドの詳細

      • feature

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

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

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

        public int patch()
        バージョン番号の patch要素の値を返します。存在しない場合は0を返します。
        戻り値:
        パッチ要素の値(ゼロ)
        導入されたバージョン:
        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要素の値を返します。存在しない場合は0を返します。
        バージョン番号のマイナー要素の値を返します。存在しない場合はゼロを返します。
        戻り値:
        暫定要素の値(ゼロ)
      • security

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

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

        public Optional<String> 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)
        オプションのビルド情報を無視して、このバージョンと別のバージョンを比較します。

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

        このメソッドは、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