Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바 CaseFormat 클래스 활용 가이드: 다양한 케이스 형식 간 문자열 변환


CaseFormat 클래스는 구글 구아바(Guava) 라이브러리에서 제공하는 유틸리티 클래스로, 다양한 ASCII 대소문자 표기 형식 사이의 문자열 변환을 아주 간편하게 처리해 줍니다. 예를 들어 데이터베이스에서 흔히 쓰이는 스네이크 케이스(snake_case) 문자열을 자바 코드에서 많이 사용하는 카멜 케이스(camelCase)로 바꿀 때 매우 유용합니다.

CaseFormat에서 지원하는 형식

CaseFormat은 다음과 같은 다섯 가지 표기 형식을 상수로 제공합니다.

형식 상수표기 예시
LOWER_HYPHENlower-hyphen (하이픈으로 구분된 소문자)
LOWER_CAMELlowerCamel (첫 단어만 소문자인 카멜 케이스)
LOWER_UNDERSCORElower_underscore (밑줄로 구분된 소문자)
UPPER_CAMELUpperCamel (첫 글자가 대문자인 파스칼 케이스)
UPPER_UNDERSCOREUPPER_UNDERSCORE (밑줄로 구분된 전체 대문자)

핵심 메서드: to()

CaseFormat의 핵심은 to(CaseFormat format, String str) 메서드입니다. 사용법은 [현재 형식].to([변환할 형식], 문자열) 순서이며, 지정한 형식으로 변환된 새 문자열을 반환합니다.

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"); // 결과: testData

CaseFormat을 사용하려면 프로젝트에 구아바(Guava) 의존성이 추가되어 있어야 합니다. Maven 프로젝트라면 pom.xml에 guava 라이브러리를 추가하면 됩니다.

예제 코드

이제 CaseFormat 클래스를 실제로 사용해 보겠습니다. 파일 이름은 GuavaTester.java로 저장합니다.

import com.google.common.base.CaseFormat;

public class GuavaTester {

    public static void main(String args[]) {
        GuavaTester tester = new GuavaTester();
        tester.testCaseFormat();
    }

    private void testCaseFormat() {
        String data = "test_data";
        System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));
        System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));
        System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));
    }
}

다음과 같이 javac 컴파일러로 클래스를 컴파일합니다.

C:\Guava>javac GuavaTester.java

컴파일이 끝나면 GuavaTester 프로그램을 실행합니다.

C:\Guava>java GuavaTester

실행 결과

프로그램을 실행하면 다음과 같은 출력이 나타납니다.

testData
testData
TestData

출력 결과를 보면 하이픈(-)이나 밑줄(_)로 연결된 소문자 문자열은 lowerCamel 형식으로, 대문자와 밑줄로 구성된 문자열은 UpperCamel(파스칼 케이스) 형식으로 정확히 변환된 것을 확인할 수 있습니다. 이처럼 CaseFormat을 활용하면 복잡한 문자열 처리 로직 없이도 표기법 변환을 깔끔하게 처리할 수 있습니다.