HOWTO · Java
Java で GUID を作成する
この記事では、Java で GUID を作成する方法を紹介します
GUID とは
GUID は、Globally Unique Identifier の頭字語です。これは、Universally Unique Identifiers または UUIDs とも呼ばれます。2つの用語の間に真の違いはありません。技術的には、これらは 128 ビットの不変で、一意で、暗号的に強力な乱数です。これらの乱数は、最終的には計算目的で使用されます。このような数値を生成するアルゴリズムは非常に複雑であるため、1 秒あたり 1,0000,000,000 の乱数を生成する可能性があります。これらの数字が繰り返される可能性は低いです。
ソフトウェア開発の実践と方法論では GUID または UUID を使用します。この場合、データベースキー、コンポーネント ID、およびさまざまなトランザクションであるプライマリキーとして一意の ID を使用して巨大なトランザクションを発生させます。
randomUUID() メソッドを使用して UUID を生成するサンプルコード
package guid;
import java.util.UUID;
public class CreateGuid {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println("UUID = " + uuid.toString());
}
}
Java 言語では、UUID クラスはバージョン 1.5 以降で使用できます。このクラスは、java.util.UUID パッケージに含まれています。randomUUID() メソッドは、タイプ 4(疑似ランダムに生成された)UUID を取得するための静的ファクトリメソッドです。メソッドは UUID クラスの静的ファクトリメソッドであるため、メソッドを呼び出すにはクラス名が必要です。
上記のプログラムからの出力は、一意に生成された UUID のようです。
UUID = 70aba303-60d8-4cb5-b3e7-4170c4be5642
UUID コンストラクターおよび fromString() メソッドを使用して UUID を生成するサンプルコード:
以下のプログラムでは、UUID クラスコンストラクターを使用して UUID を生成します。コンストラクターは、mostSignificantBits と leastSignificantBits の 2つのパラメーターを取ります。
mostSignificantBits は UUID の最上位 64 ビット用であり、leastSignificantBits は最下位 64 ビット用です。
fromString() メソッドは、文字列の標準表現から UUID を作成する静的ファクトリメソッドです。上記のメソッドは、パラメータとして文字列を取ります。したがって、uuid オブジェクトでは、インライン関数で toString() メソッドが呼び出されます。
名前が toString メソッドで説明されている文字列表現に準拠していない場合、fromString メソッドは IllegalArgumentException をスローします。
package guid;
import java.util.UUID;
public class GenerateGuidUsingConstructor {
public static void main(String[] args) {
UUID uuid = new UUID(24, 02);
System.out.println(UUID.fromString(uuid.toString()));
}
}
以下は、コンストラクターから生成された UUID の出力です。
00000000-0000-0018-0000-000000000002