본문 바로가기
Java

ConvertUtils stringToMap 설명 및 테스트케이스 작성

by 무대포 개발자 2020. 12. 15.
728x90
반응형

ConvertUtils stringToMap 설명 및 테스트케이스 작성

  • string 을 map 으로 변환.

public class ConvertUtils {

    /**
     * delimiter 를 기준으로 str 을 map 으로 변환
     * @param str
     * @param delimiter
     * @return
     */
    public static Optional<Map<String, String>> stringToMap(String str, String delimiter) {
        Map<String, String> map = new HashMap<>();
        if (StringUtils.isEmpty(str)) {
            return Optional.empty();
        }

        String[] ketValues = str.split(delimiter);
        for (String keyValue : ketValues) {
            String[] tmp = keyValue.split("=");
            map.put(tmp[0], tmp[1]);
        }
        return Optional.ofNullable(map);
    }

}

public class ConvertUtilsTest {

    @Test
    public void stringToMapTest() {
        String str = "kkk=qqq,aaa=bbb";
        Assert.assertThat(ConvertUtils.stringToMap(str, ",").get().size(), is(2));
        Assert.assertThat(ConvertUtils.stringToMap(str, ",").get().get("kkk"), is("qqq"));
    }
}

댓글