モジュール 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プラットフォームの実装用のバージョン文字列の表現。 バージョン文字列は、オプションでリリース前およびビルド前の情報が続くバージョン番号で構成されます。

バージョン番号

「バージョン番号」$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.4は、10.1.2未満です。 ある配列が他の配列よりも短い場合、短い配列の欠損した要素は、より長い配列の対応する要素よりも小さいと考えられます。e.g.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]*) - ビルド番号。各プロモート・ビルドごとに増分されます。$BUILDは、 $VNUMの任意の部分がインクリメントされると、1にリセットされます。

  • $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)?
 

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。

導入されたバージョン:
9