zoukankan      html  css  js  c++  java
  • 驼峰字符串和指定分割符字符串之间的相互转换

        /**
         *         驼峰转成指定连接符连接的字符串。如: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();
        }

    测试:

    心里有束光,眼里有片海
  • 相关阅读:
    NS3笔录
    网络性能指标的几个定义
    获取Emum类型值的数量
    Container类型元素累加
    ax用代码调用静态查询
    FormRun类的方法detach()作用
    Num2Str函数使用介绍
    查询生产单PO的位置
    AX使用临时表作为数据源
    Date2Str函数使用介绍
  • 原文地址:https://www.cnblogs.com/xhy-shine/p/14512143.html
Copyright © 2011-2022 走看看