• 驼峰字符串和指定分割符字符串之间的相互转换


        /**
         *         驼峰转成指定连接符连接的字符串。如:orderStatus -> order_status
         *
         * @param sourStr 需要转换的字符串,如:orderStatus
         * @param charType 1、全小写,2,全大写
         * @param connectChar  连接符,如:_
         * @return 转换后的字符串,如:order_status
         */
        public String camelToConnect(String sourStr, Integer charType, char connectChar) {
            if (sourStr == null || "".equals(sourStr.trim())) {
                return "";
            }
            int len = sourStr.length();
            StringBuilder sb = new StringBuilder(len);
            for (int i = 0; i < len; i++) {
                char c = sourStr.charAt(i);
                if (Character.isUpperCase(c)) {
                    sb.append(connectChar);
                }
                if (charType == 2) {
                    sb.append(Character.toUpperCase(c));
                } else {
                    sb.append(Character.toLowerCase(c));
                }
    
    
            }
            return sb.toString();
        }
    
        /**
         *         指定连接符连接的字符串转换成驼峰。如:order_status -> orderStatus
         *
         * @param sourStr
         * @param connectChar 原字符串的连接符。如:_
         * @return
         */
        public  String connectToCamel(String sourStr, char connectChar) {
            if (sourStr == null || "".equals(sourStr.trim())) {
                return "";
            }
            int len = sourStr.length();
            StringBuilder sb = new StringBuilder(len);
            // 转大写标志
            Boolean flag = false;
            for (int i = 0; i < len; i++) {
                char c = sourStr.charAt(i);
                // 当前字符为连接符,也就是后面一个字符要变大写,所以跳过,不要它,并将flag=true,下一个遍历的字符进行大写转换
                if (c == connectChar) {
                    flag = true;
                    continue;
                } else {
                    // 说明刚才遍历到了连接符,当前字符转大写
                    if (flag == true) {
                        sb.append(Character.toUpperCase(sourStr.charAt(i)));
                        flag = false;
                    } else {
                        sb.append(Character.toLowerCase(sourStr.charAt(i)));
                    }
                }
            }
            return sb.toString();
        }

    测试:

    心里有束光,眼里有片海
  • 相关阅读:
    mysql 优化20点
    java function
    设计模式 概览
    Linux安装java1.8并配置环境变量
    windows下一次执行多个sql文件
    mybatis查询结果为空时的返回值问题
    Java中Json与String互转
    SSM Service自动注入失败
    本地安装Mysql5.7过程中出现的一系列问题
    解决本地工具无法连接服务器上的mysql的问题
  • 原文地址:https://www.cnblogs.com/xhy-shine/p/14512143.html
Copyright © 2020-2023  润新知