JAVA程序驼峰状_java中驼峰与下横线格式字符串互转算法

public static final char UNDERLINE = '_';

/**

* 驼峰格式字符串转换为下划线格式字符串

*

* @param param

* @return

*/

public static String camelToUnderline(String param) {

if (param == null || "".equals(param.trim())) {

return "";

}

int len = param.length();

StringBuilder sb = new StringBuilder(len);

for (int i = 0; i < len; i++) {

char c = param.charAt(i);

if (Character.isUpperCase(c)) {

sb.append(UNDERLINE);

sb.append(Character.toLowerCase(c));

} else {

sb.append(c);

}

}

return sb.toString();

}

/**

* 下划线格式字符串转换为驼峰格式字符串

*

* @param param

* @return

*/

public static String underlineToCamel(String param) {

if (param == null || "".equals(param.trim())) {

return "";

}

int len = param.length();

StringBuilder sb = new StringBuilder(len);

for (int i = 0; i < len; i++) {

char c = param.charAt(i);

if (c == UNDERLINE) {

if (++i < len) {

sb.append(Character.toUpperCase(param.charAt(i)));

}

} else {

sb.append(c);

}

}

return sb.toString();

}

/**

* 下划线格式字符串转换为驼峰格式字符串2

*

* @param param

* @return

*/

public static String underlineToCamel2(String param) {

if (param == null || "".equals(param.trim())) {

return "";

}

StringBuilder sb = new StringBuilder(param);

Matcher mc = Pattern.compile("_").matcher(param);

int i = 0;

while (mc.find()) {

int position = mc.end() - (i++);

sb.replace(position - 1, position + 1, sb.substring(position, position + 1).toUpperCase());

}

return sb.toString();

}

public static void main(String[] args) {

String aaa = "app_version_fld";

System.out.println(underlineToCamel(aaa));

System.out.println(underlineToCamel2(aaa));

aaa = "appVersionFld";

System.out.println(camelToUnderline(aaa));

}

java中byte[] 和16进制字符串互转

//将byte[]转换为16进制字符串 public static String byte2hex(byte[] b) { StringBuilder hs = new StringBuilder() ...

java驼峰法和下划线法字符串的相互转换

java驼峰法和下划线法字符串的相互转换 1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...

java.sql.SQLException:ORA-01861:文字和格式字符串不匹配

1.错误描述 java.sql.SQLException:ORA-01861:文字和格式字符串不匹配 2.错误原因 字段名为statis_date在数据库中存储的数据类型是Date,而在Java中拼接 ...

异常-----java.sql.SQLException:ORA-01861:文字和格式字符串不匹配

1.错误描述 java.sql.SQLException:ORA-01861:文字和格式字符串不匹配 2.错误原因 字段名为statis_date在数据库中存储的数据类型是Date,而在Java中拼接 ...

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是j ...

java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;

第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...

JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

[转]Java中byte与16进制字符串的互相转换

Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

Java中byte与16进制字符串的互换原理

我们都知道Java中的byte是由8个bit组成的,而16进制即16中状态,它是由4个bit来表示的,因为24=16.所以我们可以把一个byte转换成两个用16进制字符,即把高4位和低4位转换成相应的 ...

随机推荐

Eclipse常用设置

用惯了VS,再回过去用Eclipse真是一件痛苦的事.so,在这里记录下使用过程中的一些设置以做备忘. 1.代码自动提示 在我们忘记方法名或者想偷懒时,代码自动提示很管用.不过Eclipse默认是输入 ...

【WP8.1开发】选择与搜索联系人

在需要的情况下,可以通过相关的API来访问手机上的联系人信息:当然,在不必要的情况下,不要随便去获取别人的数据. 要从联系人列表中选择并获取一位或者N位联系人的详细信息,比较简单的做法是利用Conta ...

jQuery Cycle Plugin的使用

jQuery幻灯片效果或者Slideshow效果当中如果不考虑touch效果的话,jQuery Cycle插件实在是太强大了,各种高大上的动画效果,如果想加上touch效果可以结合本blog介绍的wi ...

HDU-4418 Time travel 概率DP,高斯消元

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4418 题意:简单来说就是给你1个环(n - 1 , n - 2 …… 0 ,1 , 2 , 3 …… ...

CentOS 7 install LNMP

CentOS 7 install LNMP 关于 Nginx (发音 “engine x”)这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教 ...

我的微软.net演进路线图

你可能感兴趣的:(JAVA程序驼峰状)