public final class UID extends Object implements Serializable
UID とは、生成元のホスト上で常に一意である識別子、または 216 の「既知の」識別子のことです。
UID() コンストラクタを使用すると、生成元のホスト上で常に一意である識別子を生成できます。UID(short) コンストラクタを使用すると、216 の既知の識別子の 1 つを作成できます。
UID のインスタンスは、3 つのプリミティブ値で構成されます。
unique。この UID が生成された VM を一意に識別する int。そのホスト上で一意であり、time 値によって表される時間で一意である。unique 値の実装例として、プロセス識別子がある。既知の UID 場合は 0
time。この UID を生成した VM の稼動時間に System.currentTimeMillis() から返された long 値。既知の UID の場合は 0
count。同じ VM 上の同じ time 値に生成された UID を識別するための short 値
生成された UID インスタンスが生成元のホスト上で常に一意であるためには、ホストのリブートに 1 ミリ秒を超える時間が必要です。また、ホストのシステムクロックを逆方向に戻さないでください。大域的に一意の識別子を作成するには、UID インスタンスを、IP アドレスなどの一意ホスト識別子と組み合わせます。
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean |
equals(Object obj)
指定されたオブジェクトがこの
UID と同じかどうかを比較します。 |
int |
hashCode()
この
UID のハッシュコード値を返します。 |
static UID |
read(DataInput in)
DataInput インスタンスのバイナリ表現を非整列化することで、新しい UID インスタンスを構築して返します。 |
String |
toString()
この
UID の文字列表現を返します。 |
void |
write(DataOutput out)
この
UID のバイナリ表現を整列化して、DataOutput インスタンスに書き込みます。 |
public UID()
UID を生成します。public UID(short num)
UID を作成します。
最大 216 個の既知の ID を作成できます。
このコンストラクタを使用して生成した UID は、引数を指定しないで生成した UID と重複することはありません。
num - 既知の UID の番号public int hashCode()
UID のハッシュコード値を返します。hashCode、クラス: ObjectUID のハッシュコード値Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
UID と同じかどうかを比較します。
このメソッドは、指定されたオブジェクトが UID インスタンスであり、かつこのオブジェクトと同じ unique、time、および count 値を持つ場合に限り、true を返します。equals、クラス: Objectobj - この UID と比較するオブジェクトtrue、一致しない場合は falseObject.hashCode()、HashMappublic String toString()
UID の文字列表現を返します。public void write(DataOutput out) throws IOException
UID のバイナリ表現を整列化して、DataOutput インスタンスに書き込みます。
具体的には、このメソッドはまず、この UID の unique 値を使用して指定されたストリームの DataOutput.writeInt(int) メソッドを呼び出し、次にこの UID の time 値を使用してストリームの DataOutput.writeLong(long) メソッドを呼び出し、さらにこの UID の count 値を使用してストリームの DataOutput.writeShort(int) メソッドを呼び出します。
out - この UID の書き込み先の DataOutput インスタンスIOException - この操作の実行中に入出力エラーが発生した場合public static UID read(DataInput in) throws IOException
DataInput インスタンスのバイナリ表現を非整列化することで、新しい UID インスタンスを構築して返します。
具体的には、このメソッドはまず、指定されたストリームの DataInput.readInt() メソッドを呼び出して unique 値を読み込み、次にストリームの DataInput.readLong() メソッドを呼び出して time 値を読み込み、さらにストリームの DataInput.readShort() メソッドを呼び出して count 値を読み込みます。 最後に、ストリームから読み込んだ unique、time、およびcount 値を使用して作成した新しい UID のインスタンスを返します。
in - UID の読み取り元の DataInput インスタンスUID インスタンスIOException - この操作の実行中に入出力エラーが発生した場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.