icon
icon

JavaでUUIDを生成する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaでUUIDを生成する方法について解説しています。UUID(重複しないID)を生成する際にはrandomUUIDメソッドを使います。生成方法と実行結果をサンプルコードで確認しましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaでUUIDを生成する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

UUIDを生成する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

UUIDとは

まずは、UUIDについてかんたんに説明しておきます。UUIDは”Universally Unique Identifier”の省略形で、直訳すると、「世界中で唯一の識別子」となります。つまり、世界中どこを探しても同じものが存在しないIDのことです。そのようなIDをランダムに生成には、名前、位置情報、時刻情報などを用いることで可能になります。

このような方法でUUIDを生成した場合、それがかぶってしまう確率はゼロに等しいと言っていいほどに小さくなります。UUIDはファイルの識別や、オブジェクトの識別などに用いられます。

 

[PR] Javaプログラミングで挫折しない学習方法を動画で公開中

randomUUIDメソッドとは

randomUUIDメソッドは、上で説明したUUDIをランダムで生成してくれるようなメソッドのことです。このメソッドは、java.utilモジュールのUUIDクラスで実装されているメソッドです。

使い方は、シンプルで、

UUID.randomUUID();

とすればよいだけです。このメソッドは引数を必要とせず、また、その返り値はUUIDクラスというクラスであることに注意しましょう。

 

UUIDを生成する方法

UUIDは、UUIDクラスのrandomUUIDメソッドを用いれば、かんたんに生成することができます。実際、

UUID UUID変数名 = UUID.randomUUID();

とすれば、変数にUUIDが格納されます。これをprint関数で出力したいときなどは、

System.out.println(uuid.toString())

と、toStringメソッドを使うことで、文字列として出力することができます。

 

実際に書いてみよう

それでは、実際にコードを書いて実行することで、UUIDの生成方法について確認してみましょう。

import java.util.UUID;

class UUIDSample{
        public static void main(String args[]){

               //UUIDを生成 
               UUID uuid1 = UUID.random
               UUID(); UUID uuid2 = UUID.randomUUID();

               //UUIDを出力 
               System.out.println(uuid1.toString());
               System.out.println(uuid2.toString());
        }
}

このコードを実行すると、

698176dc-4028-4638-a452-f00bf62a7781
9c412fcb-9155-4611-b03e-8b1a1a54b54b

のような形で2つのUUIDが出力されます。(実行するたびにUUIDが変わります。)

 

まとめ

この記事ではJavaでUUIDを生成する方法について解説しました。必要なときには参考にしてみてください。

 

1時間でできる無料体験!

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。