• java中驼峰与下横线格式字符串互转算法


    public static final char UNDERLINE = '_';
    
        /**
         * 驼峰格式字符串转换为下划线格式字符串
         * 
         * @param param
         * @return
         */
        public static String camelToUnderline(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 = param.charAt(i);
                if (Character.isUpperCase(c)) {
                    sb.append(UNDERLINE);
                    sb.append(Character.toLowerCase(c));
                } else {
                    sb.append(c);
                }
            }
            return sb.toString();
        }
    
        /**
         * 下划线格式字符串转换为驼峰格式字符串
         * 
         * @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 = param.charAt(i);
                if (c == UNDERLINE) {
                    if (++i < len) {
                        sb.append(Character.toUpperCase(param.charAt(i)));
                    }
                } else {
                    sb.append(c);
                }
            }
            return sb.toString();
        }
    
        /**
         * 下划线格式字符串转换为驼峰格式字符串2
         * 
         * @param param
         * @return
         */
        public static String underlineToCamel2(String param) {
            if (param == null || "".equals(param.trim())) {
                return "";
            }
            StringBuilder sb = new StringBuilder(param);
            Matcher mc = Pattern.compile("_").matcher(param);
            int i = 0;
            while (mc.find()) {
                int position = mc.end() - (i++);
                sb.replace(position - 1, position + 1, sb.substring(position, position + 1).toUpperCase());
            }
            return sb.toString();
        }
    
        public static void main(String[] args) {
            String aaa = "app_version_fld";
            System.out.println(underlineToCamel(aaa));
            System.out.println(underlineToCamel2(aaa));
            aaa = "appVersionFld";
            System.out.println(camelToUnderline(aaa));
        
        }
  • 相关阅读:
    nioSocket
    Socket
    常见协议和标准
    Object类clone方法
    java中的运算符
    java中方法的定义
    Spring中实现定时调度
    Spring中对资源的读取支持
    HashMap的实现原理
    固定Realm 与配置数据库连接实现登录验证
  • 原文地址:https://www.cnblogs.com/franson-2016/p/6169138.html
Copyright © 2020-2023  润新知