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 慣例。
  • 識別字正規化使用 Locale.ROOT,不要依賴 user locale。
  • JSON 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");

線上測試轉換

使用瀏覽器工具快速檢查、批次處理、縮寫或混合命名格式。

偵測: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

轉換會在瀏覽器本機執行,輸入不會傳送到轉換伺服器。