[java] Camel Case(카멜 케이스/캐멀 케이스) 변환 By starseat 2022-05-27 17:48:17 java/spring Post Tags 코딩중에 `Snake Case` 와 `Camel Case` 를 변환해야 하는 상황이 발생하였다. 필요한 경우가 꽤 있을 듯 하여 블로그에 남긴다. ```java public static String camelCaseToUnderscore(String str) { if (isBlank(str)) { return str; } return str.replaceAll("([A-Z])", "_$1") .replaceFirst("^_", "").toLowerCase(); } public static String underscoreToCamelCase(String str) { if (isBlank(str)) { return str; } String[] strSplit = str.split("_"); StringBuilder retStr = new StringBuilder(strSplit[0]); for(int i=1; i> results = Arrays.stream(searchHits).map(hit -> JSON.parseObject(hit.getSourceAsString())).collect(Collectors.toList()); ``` - `underscoreToCamelCase()` 를 사용하여 `Snake Case` 를 `Camel Case` 로 변환 ```java List> results = Arrays.stream(searchHits) .map(hit -> { Map newMap = new HashMap<>(); Map hitMap = JSON.parseObject(hit.getSourceAsString()); hitMap.forEach( (_key, _value) -> newMap.put(underscoreToCamelCase(_key), _value)); return newMap; }).collect(Collectors.toList()); ``` - `Gson` 을 사용하여 `Snake Case` 를 `Camel Case` 로 변환 ```java Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create(); List> results = Arrays.stream(searchHits).map(hit -> gson.fromJson(hit.getSourceAsString(), Map.class)).collect(Collectors.toList()); ``` ### 참조 - [https://www.demo2s.com/java/java-string-converts-a-string-from-camel-case-to-underscore.html](https://www.demo2s.com/java/java-string-converts-a-string-from-camel-case-to-underscore.html) Previous Post 코딩 명명 규칙(코딩 스타일, 표기법) Next Post [java] ModelMapper 사용기