package com.walker.jdbc.generator.util; public class StringUtils { private static final String TEXT_UNDERLINE = "_"; private static final char CHAR_UNDERLINE = '_'; private static final String TEXT_EMPTY = ""; /** * 把带下划线的字符串,转换成JAVA驼峰式字符串。 *
     *     如:sm_my_name --> SmMyName
     * 
* @param underlineName 原始字符串 * @param upperFirstChar 首字母是否大写 * @return * @author 时克英 * @date 2023-03-23 */ public static final String transferUnderlineName2Camel(String underlineName, boolean upperFirstChar){ if(underlineName == null || underlineName.equals(TEXT_EMPTY)){ throw new IllegalArgumentException("underlineName不能为空!"); } int index = underlineName.indexOf(TEXT_UNDERLINE); if(index == 0){ // 首字母就是下划线,不处理 return underlineName; } else if(index < 0){ // 没有找到下划线,默认首字母大写 if(upperFirstChar){ return toUpperCaseFirst(underlineName); } else { return underlineName; } } else { // 存在至少一个下划线 StringBuilder text = new StringBuilder(); int count = underlineName.length(); char c = 0; int startUpperCase = 0; for(int i=0; i 0) && (separator != null)) { sb.append(separator); } if (quot != null) { sb.append(quot); } sb.append(src[i]); if (quot != null) { sb.append(quot); } } return sb.toString(); } public static String safeToString(Object obj) { if (obj == null) { return null; } return obj.toString(); } public static String les(Object obj, int len) { if ((obj == null) || (obj.toString() == null)) { return null; } if (obj.toString().length() > len) { return obj.toString().substring(0, len); } return obj.toString(); } public static String toLowerCaseFirst(String str) { if (isEmpty(str)) { return str; } char[] chs = str.toCharArray(); chs[0] = Character.toLowerCase(chs[0]); return String.valueOf(chs); } public static String toUpperCaseFirst(String str) { if (isEmpty(str)) { return str; } char[] chs = str.toCharArray(); chs[0] = Character.toUpperCase(chs[0]); return String.valueOf(chs); } public static String getJavaType(String strTemp) { String strJavaType = ""; strTemp = strTemp.toLowerCase(); System.out.print(strTemp); if(strTemp.indexOf("bigint") >= 0){ strJavaType = "Long"; } else if (strTemp.indexOf("int") >= 0 || strTemp.indexOf("tinyint") >= 0) strJavaType = "Integer"; else if (strTemp.indexOf("longtext") >= 0) { strJavaType = "String"; } else if (strTemp.indexOf("varchar") >= 0) { strJavaType = "String"; } else if (strTemp.indexOf("long") >= 0) strJavaType = "Long"; else if (strTemp.indexOf("float") >= 0) strJavaType = "Float"; else if (strTemp.indexOf("double") >= 0) strJavaType = "Double"; else if (strTemp.indexOf("boolean") >= 0 || strTemp.indexOf("bit") >= 0) strJavaType = "Boolean"; else if (strTemp.indexOf("string") >= 0) strJavaType = "String"; else if (strTemp.indexOf("date") >= 0) strJavaType = "java.util.Date"; else if (strTemp.indexOf("clob") >= 0) strJavaType = "String"; else if (strTemp.indexOf("text") >= 0) strJavaType = "String"; else if (strTemp.indexOf("blob") >= 0) strJavaType = "String"; else if (strTemp.indexOf("char") >= 0) strJavaType = "String"; else if (strTemp.indexOf("number") >= 0) strJavaType = "Integer"; else if (strTemp.indexOf("materialized_clob") >= 0) strJavaType = "String"; else if (strTemp.indexOf("materialized_blob") >= 0) strJavaType = "byte[]"; else if (strTemp.indexOf("big_decimal") >= 0 || strTemp.indexOf("decimal") >= 0) strJavaType = "java.math.BigDecimal"; else if (strTemp.indexOf("numeric") >= 0) strJavaType = "Double"; else { throw new RuntimeException(strTemp + "没有对应的java类型!"); } return strJavaType; } public static void main(String[] args){ // String input = "s_user_core"; // String input = "_show_error"; // String input = "Thisnone"; // String input = "create_time"; // String input = "etaa_question_type"; String input = "etaa_question_"; String result = transferUnderlineName2Camel(input, false); System.out.println(result); } }