Java で GUID を作成する
- GUID とは
-
randomUUID()
メソッドを使用して UUID を生成するサンプルコード -
UUID コンストラクター
およびfromString()
メソッドを使用して UUID を生成するサンプルコード:
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
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn