精华内容
下载资源
问答
  • 1、驼峰命名法 /** * 驼峰式命名法 */ public static String toCamelCase(String s) { if (s == null) { return null; } s = s.toLowerCase(); StringBuilder sb = new StringBuilder(s.length()); boolean ...
  • 驼峰下划线互转,下划线驼峰法,驼峰法转下划线,下划线驼峰Map集,Map集-驼峰下划线,驼峰法转下划线List套Map集,下划线驼峰法List套Map集,下划线驼峰法List
  • java驼峰转换的方法

    2020-08-27 05:48:45
    主要为大家详细介绍了java驼峰转换的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java 驼峰字符和下划线字符相互转换工具

    万次阅读 多人点赞 2017-08-09 21:55:35
    工具类需要依赖谷歌的java开发工具包guava,这个工具包里面具备了很多功能具体的可以参考并发编程网关于guava的系列教程[ 快捷入口 ]:CaseFomat提供的枚举常量的说明 SN 枚举常量 说明 1 LOWER_HYPHEN 连...

    此工具类需要依赖谷歌的java开发工具包guava,这个工具包里面具备了很多功能具体的可以参考并发编程网关于guava的系列教程[ 快捷入口 ]

    CaseFomat提供的枚举常量的说明

    SN枚举常量说明
    1LOWER_HYPHEN连字符的变量命名规范如lower-hyphen
    2LOWER_UNDERSCOREc++变量命名规范如lower_underscore
    3LOWER_CAMELjava变量命名规范如lowerCamel
    4UPPER_CAMELjava和c++类的命名规范如UpperCamel
    5UPPER_UNDERSCOREjava和c++常量的命名规范如UPPER_UNDERSCORE

    maven依赖

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>21.0</version>
    </dependency>

    例子

    import org.junit.Test;
    
    import com.google.common.base.CaseFormat;
    
    public class GuavaTester {
    
        @Test
        public void test() {
            System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));//testData
            System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));//testData
            System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));//TestData
    
            System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testdata"));//testdata
            System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData"));//test_data
            System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData"));//test-data
    
        }
    }
    展开全文
  • import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps... import java.lang.reflect.Field;...import java.l...
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.google.common.collect.Lists;
    import com.google.common.collect.Maps;
    
    import java.lang.reflect.Field;
    import java.lang.reflect.Modifier;
    import java.util.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * <p>
     * ConvertUtil 转换工具类
     * </p>
     *
     * @author lut
     * @since 2019.5.02
     */
    public class ConvertUtil {
    
        private static Pattern linePattern = Pattern.compile("_([a-z])");
    
        private static Pattern humpPattern = Pattern.compile("\\B(\\p{Upper})(\\p{Lower}*)");
    
        /**
         * 实体对象转成Map
         *
         * @param obj 实体对象
         * @return
         */
        public static Map<String, Object> object2Map(Object obj) {
            Map<String, Object> map = new HashMap<>();
            if (obj == null) {
                return map;
            }
            @SuppressWarnings("rawtypes")
            Class clazz = obj.getClass();
            Field[] fields = clazz.getDeclaredFields();
            try {
                for (Field field : fields) {
                    field.setAccessible(true);
                    map.put(field.getName(), field.get(obj));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return map;
        }
    
        /**
         * Map转成实体对象
         *
         * @param map   map实体对象包含属性
         * @param clazz 实体对象类型
         * @return
         */
        public static Object map2Object(Map<String, Object> map, Class<?> clazz) {
            if (map == null) {
                return null;
            }
            Object obj = null;
            try {
                obj = clazz.newInstance();
    
                Field[] fields = obj.getClass().getDeclaredFields();
                for (Field field : fields) {
                    int mod = field.getModifiers();
                    if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                        continue;
                    }
                    field.setAccessible(true);
                    field.set(obj, map.get(field.getName()));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return obj;
        }
    
    
        /**
         * 下划线转驼峰
         *
         * @param str
         * @return
         */
        public static String lineToHump(String str) {
            Matcher matcher = linePattern.matcher(str);
            StringBuffer sb = new StringBuffer();
            while (matcher.find()) {
                matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
            }
            matcher.appendTail(sb);
            return sb.toString();
        }
    
    
        /**
         * 驼峰转下划线(Map)
         *
         * @param str
         * @return
         */
        public static String humpToLine(String str) {
            Map<String, Object> map = JSONObject.parseObject(str);
            Map<String, Object> newMap = Maps.newHashMap();
            Iterator<Map.Entry<String, Object>> it = map.entrySet().iterator();
            while (it.hasNext()) {
                StringBuffer sb = new StringBuffer();
                Map.Entry<String, Object> entry = it.next();
                String key = entry.getKey();
                Matcher matcher = humpPattern.matcher(key);
                while (matcher.find()) {
                    matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
                }
                matcher.appendTail(sb);
                newMap.put(sb.toString(), entry.getValue());
            }
            return JSON.toJSONString(newMap);
    
        }
    
        /**
         * 驼峰转下划线(List)
         *
         * @param str
         * @return
         */
        @SuppressWarnings("all")
        public static String humpToLineList(String str) {
            List<Map> list = JSONObject.parseArray(str, Map.class);
            List<Map<String, Object>> res = new ArrayList<>();
            list.stream().forEach(p -> {
                Map<String, Object> newMap = Maps.newHashMap();
                Iterator<Map.Entry<String, Object>> it = p.entrySet().iterator();
                while (it.hasNext()) {
                    StringBuffer sb = new StringBuffer();
                    Map.Entry<String, Object> entry = it.next();
                    String key = entry.getKey();
                    Matcher matcher = humpPattern.matcher(key);
                    while (matcher.find()) {
                        matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
                    }
                    matcher.appendTail(sb);
                    newMap.put(sb.toString(), entry.getValue());
                }
                res.add(newMap);
            });
            return JSON.toJSONString(res);
        }
    展开全文
  • Java驼峰下划线互相转化

    千次阅读 2021-03-04 04:00:11
    packagecom.utils;public classChangeChar {public static final char UNDERLINE = '_';public static voidmain(String[] args) {/*驼峰下划线*/String str= " itemName bbbbCsss , \n" +" category ,\...

    packagecom.utils;public classChangeChar {public static final char UNDERLINE = '_';public static voidmain(String[] args) {/*驼峰转下划线*/String str= " itemName bbbbCsss , \n" +

    " category ,\n" +

    "\tbarCode\t \n" +

    "\tvolume\t \n" +

    "\tlength\t \n" +

    "\twidth\t \n" +

    "\theight\t \n" +

    "\tunitPrice\t \n" +

    "\tshelfLife\t \n" +

    "\tshelfLifeUnit\t /\n" +

    "\t )";/*下划线转驼峰*/String str2= " ITEM_NAME , \n" +

    " CATEGORY ,\n" +

    "\tBAR_CODE\t \n" +

    "\tVOLUME\t \n" +

    "\tLENGTH\t \n" +

    "\tWIDTH\t \n" +

    "\tHEIGHT\t \n" +

    "\tUNIT_PRICE\t \n" +

    "\tSHELF_LIFE\t \n" +

    "\tSHELF_LIFE_UNIT\t";/*** 测试

    **/

    /*charType=2 表示大写, 其他情况都是小写*/String STR_ABC= camelToUnderline(str, 2); //下划线大写:ABC_DEF

    String str_abc = camelToUnderline(str, 1); //下划线小写:abc_def

    System.out.println("驼峰转化成下划线大写 :" +STR_ABC);

    System.out.println("驼峰转化成下划线小写 :" +str_abc);

    String strAbc= underlineToCamel(str2); //下划线转驼峰:abcDef

    System.out.println("下划线化成驼峰 :" +strAbc);

    }//驼峰转下划线

    public staticString camelToUnderline(String param, Integer charType) {if (param == null || "".equals(param.trim())) {return "";

    }int len =param.length();

    StringBuilder sb= newStringBuilder(len);for (int i = 0; i < len; i++) {char c =param.charAt(i);if(Character.isUpperCase(c)) {

    sb.append(UNDERLINE);

    }if (charType == 2) {

    sb.append(Character.toUpperCase(c));//统一都转大写

    } else{

    sb.append(Character.toLowerCase(c));//统一都转小写

    }

    }returnsb.toString();

    }//下划线转驼峰

    public staticString underlineToCamel(String param) {if (param == null || "".equals(param.trim())) {return "";

    }int len =param.length();

    StringBuilder sb= newStringBuilder(len);

    Boolean flag= false; //"_" 后转大写标志,默认字符前面没有"_"

    for (int i = 0; i < len; i++) {char c =param.charAt(i);if (c ==UNDERLINE) {

    flag= true;continue; //标志设置为true,跳过

    } else{if (flag == true) {//表示当前字符前面是"_" ,当前字符转大写

    sb.append(Character.toUpperCase(param.charAt(i)));

    flag= false; //重置标识

    } else{

    sb.append(Character.toLowerCase(param.charAt(i)));

    }

    }

    }returnsb.toString();

    }

    }

    展开全文
  • java字符串下划线驼峰工具使用

    千次阅读 2018-11-05 10:02:18
    java字符串下划线驼峰工具使用 public class StringUtil { private static final char UNDERLINE='_'; /** * 下划线驼峰 * @param param * @return */ public static String underlineToCamel(St...

    java字符串下划线转驼峰工具使用

    public class StringUtil {
    	private static final char UNDERLINE='_'; 
        /**
         * 下划线 转 驼峰
         * @param param
         * @return
         */
        public static String underlineToCamel(String param){ 
            if (param==null||"".equals(param.trim())){  
                return "";  
            }  
            int len=param.length();  
            StringBuilder sb=new StringBuilder(len);  
            for (int i = 0; i < len; i++) {  
                char c = Character.toLowerCase(param.charAt(i));  
                if (c == UNDERLINE){  
                   if (++i<len){  
                       sb.append(Character.toUpperCase(param.charAt(i)));  
                   }  
                }else{  
                    sb.append(c);  
                }  
            }  
            return sb.toString();  
        } 
    }
    
    
    
    

     

     

     

     

     

     

     

    展开全文
  • 1.ExpressUtils 工具:https://blog.csdn.net/bestxianfeng163/article/details/1058566102.HumpLineUtils工具:...imp...
  • 实现-驼峰下划线转换 工具

    千次阅读 2018-10-07 15:14:19
    /** * 工具类-驼峰下划线转换 */ public class StringUtil { /** * 下划线命名转驼峰命名 * @param underscore * @return */ public static String underscoreToCamelCase(Strin...
  • 摘要:这篇Java开发技术栏目下的“java驼峰下划线的写法互转”,介绍的技术点是“Java下划线、下划、驼峰、写法、互转”,希望对大家开发技术学习和问题解决有帮助。前言在实际项目开发中,会碰到这样的问题,...
  • * String工具 * * @author zhy */ public class StringUtil { /** * 定义下划线 */ private static final char UNDERLINE = '_'; /** * String为空判断(不允许空格) */ public static boolean isBlank...
  • * 将驼峰式命名的字符串转换下划线大写方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。 * 例如:HelloWorld->HELLO_WORLD * @param name 转换前的驼峰式命名的字符串 * @return 转换下划线...
  • 实体类:import java.io.Serializable;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class User implements ...
  • 近期在写一个迷你型的mybaits框架,涉及到数据库字段映射到Java实体类时遇到的需要将下换线转命名成驼峰命名。... * @description: 下划线转换驼峰工具类 * @author: yanling * @time: 2021/1/2 */ public class To
  • 驼峰规则转换工具

    2015-10-08 17:28:12
    转换驼峰规则的小工具,可以把数据库字段转成驼峰规则命名,适用于java程序开发者
  • java驼峰下划线下划线驼峰

    万次阅读 2017-11-17 16:08:26
    import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String str1 = "FermQASDASDSALove";//带下划线的字
  • 输入文件和输出文件名分别为为:humpName.txt(注意,格式为:每行一个字符,空格换行),humpTool.txt,默认在E盘根目录,humpTool.jar也默认E盘根目录, ...(2)java -jar humpTool.jar,即可获取结果
  • 但是不同的需求,可能传递的数据格式不太一样,有的需要下划线,有的需要驼峰,而我们的 Java 实体类又是一个,如何将他们来回转换呢? 其实,在各种JSON 工具中,都提供了这个方法,下面针对Fastjson、Jackson、...
  • 正则转换下划线驼峰

    千次阅读 2020-07-14 19:46:28
    下划线驼峰字符串的转换java接口开发过程中,文档定义是下划线,但是java bean的属性是驼峰,一个一个copy 修改太麻烦。 工具:notepad++ 下划线驼峰: 替换规则 :([a-z])_([a_z]) -->> \1\U\2\E ...
  • hutool工具如何驼峰下划线

    千次阅读 2021-08-26 12:53:53
    hutool工具如何驼峰下划线 经常会有一个需求,就是将一个驼峰的字符串转换下划线的字符串 举例,比如 转换转换后 studetName student_name fillBeanWithMap fill_bean_with_map aA a_a aaaa ...
  • JAVA驼峰下划线转换

    2019-07-11 17:35:35
    读取的数据字段名是数据库字段,下划线格式的,需要转换驼峰的,所以写了一个小小的工具类。 private static final String SPLIT_SYMBOL = "_"; /** * Created by Li hongxin on 2019/6/19 1...
  • 背景 将数据库字段映射到Java实体类时遇到的问题,如user_id需要映射成userId。 talk is cheap , show me the code ... * 将下划线命名转换驼峰式命名 * 例:user_id -> userId * ASCII表 *...
  • 在数据库命名为下划线大写的方式,我们需要通过驼峰命名转化工具,将名称转化为驼峰,然后生成java的entity,在这个工具包中,通过正则表达式的方式,进行匹配,然后进行命名转化 工具包package ...
  • 背景:因顺丰快递API的HTTP传输格式为JSON,且属性为下划线风格(如图二),但JAVA实体类属性名称遵循了驼峰规范,故写了一个工具类,作为转换。   package com.imall.crm; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,484
精华内容 2,593
关键字:

驼峰下划线转换工具java

java 订阅