本文实例为大家分享了java驼峰转换的具体代码,供大家参考,具体内容如下

将"_"转换成驼峰,将驼峰转换成"_"。

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* 驼峰转换

* @author 胡汉三

* 2017年1月19日 下午4:42:58

*/

public class BeanHump {

//转变的依赖字符

public static final char UNDERLINE='_';

/**

* 将驼峰转换成"_"(userId:user_id)

* @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();

}

/**

* 将"_"转成驼峰(user_id:userId)

* @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

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

}

}else{

sb.append(c);

}

}

return sb.toString();

}

/**

* 将"_"转成驼峰(user_id:userId)

* @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(UNDERLINE+"").matcher(param);

int i=0;

while (mc.find()){

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

String.valueOf(Character.toUpperCase(sb.charAt(position)));

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

}

return sb.toString();

}

/*

* 测试

*/

public static void main(String[] args) {

System.out.println(camelToUnderline("userNameAll"));

System.out.println(underlineToCamel("user_name_all"));

System.out.println(underlineToCamel2("user_name_all"));

}

}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java 驼峰转换_java驼峰转换的方法相关推荐

  1. java tostring 库_java重寫toString()方法

    toString()方法是Object類的方法,調用toString()會返回對象的描述信息. 1)為什么重寫toString()方法呢? 如果不重寫,直接調用Object類的toString()方法 ...

  2. java 二分查找_Java数组之Arrays方法

    Java数组之Arrays方法,拉勾IT课小编为大家分析,JAVA数组的一些方法,提升开发水平,增强技术开发水平,不断提升个人的技术能力,在对于java开发领域,很多人都从基础做起. 1. 数组的工具 ...

  3. java集合示例_Java集合的addAll()方法和示例

    集合类addAll()方法addAll()方法在java.lang包中可用. addAll()方法用于将所有给定元素(ele)放入给定集合(co). addAll()方法是一个静态方法,可以使用类名进 ...

  4. java parsefloat 误差_Java Float类parseFloat()方法与示例

    Float类parseFloat()方法parseFloat()方法在java.lang包中可用. parseFloat()方法用于返回与给定String表示形式相对应的float值,换句话说,我们可 ...

  5. java getmethod类_Java Class类 getMethod()方法及示例

    Class类getMethod()方法getMethod()方法在java.lang包中可用. getMethod()方法用于返回Method对象,这些对象指示该类的给定公共方法或由此Class对象表 ...

  6. java newinstance 包_Java Class类 newInstance()方法及示例

    Class类newInstance()方法newInstance()方法在java.lang包中可用. newInstance()方法用于创建此Class对象表示的类的新实例. newInstance ...

  7. java程序日期转换_Java 日期转换详解及实例代码

    Java 日期转换 涉及的核心类:Date类.SimpleDateFormat类.Calendar类 一. Date型与long型 Date型转换为long型 Date date = new Date ...

  8. java万能编码转换_java编码转换的详细过程

    常见的JAVA程序包括以下类别: *直接在console上运行的类(包括可视化界面的类) *JSP代码类(注:JSP是Servlets类的变型) *Servelets类 *EJB类 *其它不可以直接运 ...

  9. java 数字 百分比_Java 数字转换成百分比

    /** * Object 转化成百分比 传如的参数必须是数字类型, 如"0.02" return 2.00% *   百分比位数 参数可自行调整 * @param obj * @r ...

最新文章

  1. python爬取抖音评论_怎样用Python3爬取抖音神曲
  2. 因为一个跨域请求,我差点丢了饭碗!
  3. OGNL表达式struts2标签“%,#,$”
  4. 类加载器-启动类加载器
  5. adb(Android debug bridge)命令
  6. 实践作业三 结对项目
  7. CryptographicException异常处理方法
  8. 将一个对象的空值全部设置为null
  9. VS Code 调试ROS节点
  10. nginx反向代理镜像网站做小偷站
  11. 数据结构(郝斌老师)
  12. 店铺流量下跌应该如何解决
  13. HDR高动态范围成像
  14. scrapy--dytt(电影天堂)
  15. C语言学习(七)之数组
  16. 使用赫夫曼编码进行解码
  17. html如何拉伸一个图片,css怎么拉伸图片?
  18. JAVA中JVM的重排序详细介绍(写得很明白)
  19. 使用html2canvas 截图 出现图片空白的问题
  20. html px2rem转化器,【技术】移动端适配 px2rem/px2vw 的原理与实现

热门文章

  1. fastreport打印ftp图片_WebFastReportSetup.wse
  2. 数据执行保护(DEP)的基本设置
  3. 【接口篇 / Wan】(7.0) ❀ 03. 配置固定 IP 宽带上网 ❀ FortiGate 防火墙
  4. Vue.js组件化笔记
  5. 在MacBook 13“机器上无法安装Boot Camp x64驱动程序问题的处理
  6. hive数据类型及转换
  7. 中国采购执行与优化行业头部企业市场占有率及排名调研报告
  8. scrapy 的入门使用超级详细
  9. java使用abs函数_Java Math abs()用法及代码示例
  10. 数字化下,机械工程师如何适应和继续发展