Java の例

Java で snake_case を camelCase に変換

underscore 区切り token を分割し、Locale.ROOT で正規化して最初以外を大文字始まりにします。

Camel Case Converter 編集チーム 著公開日 2026/09/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"

識別子の case 変換は実行環境のユーザーロケールに依存させず Locale.ROOT を使うと予測可能です。

StringBuilder で token を効率的に連結できますが、混在 separator や略語には広い tokenization が必要です。

考慮すべきエッジケース

  • 略語 casing はコードベースの方針に従います。
  • 識別子正規化では user locale ではなく Locale.ROOT を使います。
  • JSON key の再帰変換は1文字列の変換とは別問題です。
  • 異なる元キーが同じ 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

変換はブラウザ内で行われ、入力は変換サーバーへ送信されません。