Java

[Java]UUID를 문자열로 변환하는 방법

DevStory 2022. 11. 2.

UUID

UUID(Universally Unique Identifier)는 고유한 데이터 또는 리소스를 식별합니다. 데이터 또는 리소스는 객체, 파일, 문서, 이미지 등이 될 수 있으며, UUID가 광범위하게 사용되는 경우 전역 고유 식별자인 GUID라고 부르기도 합니다.

 

UUID는 32개의 16진수 기반의 문자와 4개의 하이픈(-)으로 구성된 총 36개의 문자입니다.

 

36개의 문자는 8-4-4-4-12와 같이 표현되며 UUID의 크기는 128 Bit입니다.

 

java.util 패키지에 존재하는 UUID 클래스는 Java 7부터 사용할 수 있으며 UUID 생성 방법은 다음과 같습니다.

public static void main(String args[]) {
  UUID uuid = UUID.randomUUID();
  System.out.println(uuid);
}

[실행 결과]

585a1429-2a79-4940-9488-6cea5bb9cb95

UUID 클래스의 randomUUID() 메서드를 사용하여 UUID를 생성할 수 있습니다. randomUUID() 메서드는 UUID 타입의 객체를 반환하므로 문자열처럼 사용하려면 문자열로 변환하는 작업이 필요합니다.

 

이번 포스팅은 UUID를 문자열로 변환, 문자열을 UUID로 변환하는 방법을 소개합니다.


UUID를 문자열로 변환

UUID를 문자열로 변환하려면 toString() 메서드를 호출합니다.

 

다음 예제는 toString() 메서드를 사용하여 UUID를 문자열로 변환하고 타입을 출력합니다.

public static void main(String args[]) {
  UUID uuid = UUID.randomUUID();

  // UUID를 문자열로 변환
  System.out.println(uuid.toString());
  
  // 문자열로 변환 후 타입 확인
  System.out.println(uuid.toString().getClass().getTypeName());
  
  // 문자열로 변환하기 전 타입 확인
  System.out.println(uuid.getClass().getTypeName());
}

[실행 결과]

52588691-d763-45fe-8de6-8a632e08384a
java.lang.String
java.util.UUID

문자열을 UUID로 변환

이번에는 반대로 문자열을 UUID로 변환합니다.

 

문자열을 UUID로 변환하려면 fromString() 메서드의 매개변수로 문자열을 전달합니다.

public static void main(String args[]) {
  UUID.fromString("52588691-d763-45fe-8de6-8a632e08384a");
  System.out.println(uuid.toString());
}

[실행 결과]

52588691-d763-45fe-8de6-8a632e08384a

 

만약, 다음과 같이 UUID 규칙에 어긋나는 문자열을 UUID로 변환하면 IllegalArgumentException 예외가 발생합니다.

public static void main(String args[]) {
  UUID.fromString("52588691-d763-45fe-8de6-8a632e08384a-ab");
  System.out.println(uuid.toString());
}

[에러 내용]

반응형

댓글