Map中key值變換(駝峯,下劃線,中橫線)

寫在前面

一、下劃線 <----> 駝峯

1.1、hutool 代碼示例

   @Test
    public void t2() {
        Map<String, Object> a = new HashMap<String, Object>() {{
            put("area_id", 100);
            put("area_Name", null);
        }};
        Map<String, Object> b = new HashMap<>();
        a.forEach((k,v) -> b.put(StrUtil.toCamelCase(k), v));
        System.out.println(b);
    }
// 結果
// {areaId=100, areaName=null}
   @Test
    public void t21() {
        Map<String, Object> a = new HashMap<String, Object>() {{
            put("areaId", 100);
            put("areaName", null);
        }};
        Map<String, Object> b = new HashMap<>();
        a.forEach((k,v) -> b.put(StrUtil.toUnderlineCase(k), v));
        System.out.println(b);
    }

// {area_name=null, area_id=100}

1.2、Guava

    @Test
    public void t3() {
        Map<String, Object> a = new HashMap<String, Object>() {{
            put("area_id", 100);
            put("area_Name", null);
        }};
        Map<String, Object> b = new HashMap<>();
        a.forEach((k,v) -> b.put(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, k), v));
        System.out.println(b);
    }
// {areaId=100, areaName=null}
    @Test
    public void t31() {
        Map<String, Object> a = new HashMap<String, Object>() {{
            put("areaId", 100);
            put("areaName", null);
        }};
        Map<String, Object> b = new HashMap<>();
        a.forEach((k,v) -> b.put(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, k), v));
        System.out.println(b);
    }
    // 
    // {area_name=null, area_id=100}

1.3、Jackson

待補充
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章