All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.panhongan.utils.naming.NamingUtils Maven / Gradle / Ivy

The newest version!
package com.github.panhongan.utils.naming;

import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

/**
 * @author panhongan
 * @since 2019.7.13
 * @version 1.0
 */

public class NamingUtils {

    /**
     * 驼峰命名 转 匈牙利命名
     *
     * @param camelStr 驼峰命名串
     * @return 匈牙利命名串
     */
    public static String camel2Hung(String camelStr) {
        if (StringUtils.isEmpty(camelStr)) {
            return null;
        }

        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < camelStr.length();  ++i) {
            char ch = camelStr.charAt(i);
            if (Character.isUpperCase(ch)) {
                builder.append("_");
                builder.append(Character.toLowerCase(ch));
            } else {
                builder.append(ch);
            }
        }

        return builder.toString();
    }

    /**
     * 匈牙利命名 转 驼峰命名
     *
     * @param hungStr 匈牙利命名串
     * @return 驼峰命名串
     */
    public static String hung2Camel(String hungStr) {
        if (StringUtils.isEmpty(hungStr)) {
            return null;
        }

        String[] arr = hungStr.split("_");
        if (ArrayUtils.isNotEmpty(arr)) {
            StringBuilder builder = new StringBuilder();
            builder.append(arr[0]);

            for (int i = 1; i < arr.length; ++i) {
                char ch = arr[i].charAt(0);
                builder.append(Character.toUpperCase(ch));
                builder.append(arr[i].substring(1));
            }

            return builder.toString();
        } else {
            return null;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy