Java 예시

Java에서 snake_case를 camelCase로 변환

밑줄 token을 나누고 Locale.ROOT로 정규화한 뒤 첫 token을 제외하고 대문자로 시작합니다.

작성자 Camel Case Converter 편집팀게시 2026. 9. 12.마지막 검토

Java 코드

import java.util.Locale;

static String snakeToCamel(String value) {
    String cleaned = value.trim().replaceAll("^_+|_+$", "");
    if (cleaned.isEmpty()) return "";
    String[] parts = cleaned.split("_+");
    StringBuilder result = new StringBuilder(parts[0].toLowerCase(Locale.ROOT));
    for (int i = 1; i < parts.length; i++) {
        String part = parts[i].toLowerCase(Locale.ROOT);
        if (part.isEmpty()) continue;
        result.append(Character.toUpperCase(part.charAt(0)));
        result.append(part.substring(1));
    }
    return result.toString();
}

snakeToCamel("user_profile_image");
// "userProfileImage"

Locale.ROOT를 사용하면 식별자 casing이 사용자 기본 locale에 영향받지 않습니다.

StringBuilder로 token을 효율적으로 연결할 수 있지만 혼합 구분자와 약어에는 더 넓은 규칙이 필요합니다.

고려할 예외 사례

  • 약어 casing은 codebase 정책을 따릅니다.
  • 식별자 정규화에는 user locale 대신 Locale.ROOT를 사용합니다.
  • JSON 키 재귀 변환은 문자열 하나 변환과 다른 문제입니다.
  • 서로 다른 source key가 같은 camelCase가 되면 conflict policy가 필요합니다.

예시

변환 전변환 후
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

Java 코드

assert snakeToCamel("user_profile_image").equals("userProfileImage");
assert snakeToCamel("__user__profile__").equals("userProfile");
assert snakeToCamel("api_response_url").equals("apiResponseUrl");
assert snakeToCamel("created_at").equals("createdAt");

온라인에서 변환 테스트

빠른 확인, batch, 약어 처리, 혼합 네이밍 입력을 브라우저 도구로 테스트하세요.

감지: snake_case
camelCase 출력
userProfileImageUrl

모든 네이밍 형식

camelCase
userProfileImageUrl
PascalCase
UserProfileImageUrl
snake_case
user_profile_image_url
kebab-case
user-profile-image-url
CONSTANT_CASE
USER_PROFILE_IMAGE_URL
dot.case
user.profile.image.url
path/case
user/profile/image/url

변환은 브라우저에서 로컬로 처리되며 입력은 변환 서버로 전송되지 않습니다.