- 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]*)*
シーケンスは任意の長さでも構いませんが、最初の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.1
は9.10.3
より小さい。 ある配列が他の配列よりも短い場合、短い配列の欠損した要素は、より長い配列の対応する要素よりも小さいと考えられる。「例えば、」、9.1.2
は9.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
-
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 Optional<Integer>
build()
「ビルド番号」を返します。int
compareTo(Runtime.Version obj)
このバージョンと別のバージョンを比較します。int
compareToIgnoreOptional(Runtime.Version obj)
このバージョンを、オプションのビルド情報を無視して別のバージョンと比較します。boolean
equals(Object obj)
このVersion
が別のオブジェクトと等しいかどうかを判定します。boolean
equalsIgnoreOptional(Object obj)
このVersion
がオプションのビルド情報を無視するかどうかを決定します。int
hashCode()
このバージョンのハッシュ・コードを返します。int
major()
majorのバージョン番号を返します。int
minor()
minorのバージョン番号を返します。設定されていない場合は0を返します。Optional<String>
optional()
追加のビルド情報を識別するoptionalを返します。static Runtime.Version
parse(String s)
「バージョン番号」を含む有効な「バージョン文字列」として指定された文字列を解析し、その後にプレ・リリースおよびビルド情報を返します。Optional<String>
pre()
オプションのpre-release情報を返します。int
security()
securityのバージョン番号を返します。設定されていない場合は0を返します。String
toString()
このバージョンの文字列表現を返します。List<Integer>
version()
-
-
-
メソッドの詳細
-
parse
public static Runtime.Version parse(String s)
「バージョン番号」を含む有効な「バージョン文字列」として指定された文字列を解析し、その後にプレ・リリースおよびビルド情報を返します。- パラメータ:
s
- バージョンとして解釈する文字列- 戻り値:
- 指定された文字列のバージョン
- 例外:
IllegalArgumentException
- 指定された文字列を有効なバージョンとして解釈できない場合NullPointerException
- 指定された文字列がnull
NumberFormatException
- バージョン番号またはビルド番号の要素をInteger
として表すことができない場合
-
major
public int major()
majorのバージョン番号を返します。- 戻り値:
- メジャー・バージョン番号
-
minor
public int minor()
minorのバージョン番号を返します。設定されていない場合は0を返します。- 戻り値:
- マイナー・バージョン番号または設定されていない場合は0
-
security
public int security()
securityのバージョン番号を返します。設定されていない場合は0を返します。- 戻り値:
- セキュリティ・バージョン番号または設定されていない場合は0
-
version
public List<Integer> version()
「バージョン番号」に含まれる整数値の変更不可能なList
を返します。List
には常に「メジャー・バージョン番号」に対応する要素が少なくとも1つ含まれています。- 戻り値:
- バージョン番号に含まれる整数の数字の変更不可能なリスト
-
pre
public Optional<String> pre()
オプションのpre-release情報を返します。- 戻り値:
- オプションのプレ・リリース情報を文字列として
-
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
-
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)
-
-