zoukankan      html  css  js  c++  java
  • 变量名下划线式和驼峰式相互转换

    import org.apache.commons.lang.CharUtils;
    import org.apache.commons.lang.StringUtils;
    
    /**
     * name utility
     * */
    public class NameUtils {
    
        /**
         * covert field name to column name userName --> user_name
         * covert class name to column name UserName -- > user_name
         * */
        public static String getUnderlineName(String propertyName) {
            if (null == propertyName) {
                return "";
            }
            
            StringBuilder sbl = new StringBuilder(propertyName);
            sbl.setCharAt(0, Character.toLowerCase(sbl.charAt(0)));
            propertyName = sbl.toString();
            
            char[] chars = propertyName.toCharArray();
            StringBuffer sb = new StringBuffer();
            for (char c : chars) {
                if (CharUtils.isAsciiAlphaUpper(c)) {
                    sb.append("_" + StringUtils.lowerCase(CharUtils.toString(c)));
                } else {
                    sb.append(c);
                }
            }
            return sb.toString();
        }
    
        /**
         * covert field name to column name
         * */
        public static String getHumnName(String fieldName) {
            if (null == fieldName) {
                return "";
            }
            fieldName = fieldName.toLowerCase();
            char[] chars = fieldName.toCharArray();
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < chars.length; i++) {
                char c = chars[i];
                if (c == '_') {
                    int j = i + 1;
                    if (j < chars.length) {
                        sb.append(StringUtils.upperCase(CharUtils.toString(chars[j])));
                        i++;
                    }
                } else {
                    sb.append(c);
                }
            }
            return sb.toString();
        }
        
    }

     

  • 相关阅读:
    高内聚 低耦合
    关系型数据库-三范式
    Excel 批量重命名照片
    完整性约束
    testCompile failed: multiple points
    Java日志体系
    Mac 修改HostName
    mac 配置/etc/profile重启后不生效
    mac命令行配置
    logback删除日志
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/6529547.html
Copyright © 2011-2022 走看看