Java中驼峰命名与下划线命名相互转换

记得在thinkphp框架中,模型名会自动转换为对应下划线的表名,如,UserType 自动转化为user_type,在平时写程序中很多地方也会用到类似的自动转换方法。

Java版本的驼峰命名与下划线命名相互转换

驼峰命名转下划线命名

方法:小写字母和大写字母紧挨一起的之间,加上分隔符,然后全部转小写

示例代码:

/**
* 功能:驼峰命名转下划线命名
* 小写和大写紧挨一起的地方,加上分隔符,然后全部转小写
*/
public static String camel2under(String c)
{
    String separator = "_";
 c = c.replaceAll("([a-z])([A-Z])", "$1"+separator+"$2").toLowerCase();
 return c;
}

下划线命名转驼峰命名

方法:将下划线替换为空格,将字符串根据空格分割成数组,再将每个单词首字母大写

示例代码:

/**
 * 功能:下划线命名转驼峰命名
 * 将下划线替换为空格,将字符串根据空格分割成数组,再将每个单词首字母大写
 * @param s
 * @return
 */
private static String under2camel(String s)
{
 String separator = "_";
 String under="";
 s = s.toLowerCase().replace(separator, " ");
 String sarr[]=s.split(" ");
 for(int i=0;i<sarr.length;i++)
 {
 String w=sarr[i].substring(0,1).toUpperCase()+sarr[i].substring(1);
 under +=w;
 }
  return under;
}

顺便附上php版本的转换方法:

  /**
  * 功能:下划线命名转驼峰命名
  * 方法:
  * step1.原字符串转小写,原字符串中的分隔符用空格替换,在字符串开头加上分隔符
  * step2.将字符串中每个单词的首字母转换为大写,再去空格,去字符串首部附加的分隔符.
  */
  function camelize($uncamelized_words,$separator='_')
  {
    $uncamelized_words = $separator. str_replace($separator, " ", strtolower($uncamelized_words));
    return ltrim(str_replace(" ", "", ucwords($uncamelized_words)), $separator );
  }

  /**
  * 功能:驼峰命名转下划线命名
  * 方法:小写和大写紧挨一起的地方,加上分隔符,然后全部转小写
  */
  function uncamelize($camelCaps,$separator='_')
  {
    return strtolower(preg_replace('/([a-z])([A-Z])/', "$1" . $separator . "$2", $camelCaps));
  }

到此这篇关于Java中驼峰命名与下划线命名相互转换的文章就介绍到这了,更多相关Java中驼峰命名与下划线命名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot配置mybatis驼峰命名规则自动转换的实现

    一.简述 mybatis驼峰式命名规则自动转换: 使用前提:数据库表设计按照规范"字段名中各单词使用下划线"_"划分": 使用好处:省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系,即resultMap. 示例: <resultMap id ="UserInfoMap" type="com.example.mybaitsxml.dao.entity.User"> <result col

  • Java中驼峰命名与下划线命名相互转换

    记得在thinkphp框架中,模型名会自动转换为对应下划线的表名,如,UserType 自动转化为user_type,在平时写程序中很多地方也会用到类似的自动转换方法. Java版本的驼峰命名与下划线命名相互转换 驼峰命名转下划线命名 方法:小写字母和大写字母紧挨一起的之间,加上分隔符,然后全部转小写 示例代码: /** * 功能:驼峰命名转下划线命名 * 小写和大写紧挨一起的地方,加上分隔符,然后全部转小写 */ public static String camel2under(String

  • Java下变量大小写驼峰、大小写下划线、大小写连线转换

    目录 写在前面 引入guava依赖包 怎么做变量转换 写在前面 有时候需要处理对象属性的getter.setter方法,或者将属性与数据表字段进行相互转换,这时候就需要用到将小写驼峰转换为小写下划线方式,当然我们可以自己手撸一段代码来实现,但Google的大神们,已经给我们提供了一个现成的开发包,也就是Google guava包.直接拿来主义吧! 引入guava依赖包 这个非常简单,只需要在工程的pom.xml中引入依赖的坐标即可. <dependency> <groupId>co

  • 浅谈Java中向上造型向下造型和接口回调中的问题

    最近回顾了一下java继承中的问题,下面贴代码: public class Base { protected String temp = "base"; public void fun(){ System.out.print("BASE fun()"); } public static void main(String[] args) { Base b =new Base();//实例化Base对象 b.fun(); //调用父类中fun()的方法 System.o

  • 带你了解Java中的异常处理(下)

    今天继续讲解java中的异常处理机制,主要介绍Exception家族的主要成员,自定义异常,以及异常处理的正确姿势. Exception家族 一图胜千言,先来看一张图. Exception这是一个父类,它有两个儿子,IOException和RuntimeException,每个儿子都很能生,所以它有着一堆的孙子,但其实,Exception家族还有一个大家伙,那就是Throwable,这是一个接口,看名字就知道意思,就是"可被抛出"嘛,它还有一个同父异母的哥哥,那就是Error,这家伙可

  • Go 中的空白标识符下划线

    目录 1.什么是空白标识符 2.未使用的赋值变量 3.未知的结构体 4.未使用的包 5.总结 与 Python 一样,Go 语言也有空白标识符. 1.什么是空白标识符 空白标识符是未使用的值的占位符.它由下划线(_)表示.由于空白标识符没有名称,因此它们也被称为匿名占位符. 在 Go 语言中, 不允许声明未使用的变量或导入语句.也就是说,我们无法声明变量并将其留下未使用.同样,如果您导入一个包,那么也必须使用它. 这个时候就需要一个空白标识符. 2.未使用的赋值变量 如果 Go 中的函数返回多个

  • java中驼峰与下划线的写法互转

    前言 在实际项目开发中,会碰到这样的问题,数据库表结构设计好了,可实体类还没相应地弄出来.实体类的属性命名方法一般是驼峰法,而数据库中的表字段命名方法用的是下划线法.如果表的字段非常多,我们根据设计好的数据库字段再手动敲写一遍驼峰法的属性,这有点费时了.如何迅速地把数据库中的表字段变成我们所需要的驼峰式的属性呢? 解决方法有二,一是通过文本编辑工具,如EditPlus,Notepad++等,利用它们携带的正则替换功能来迅速实现:二是通过自己编写工具类来实现.至于第一种方法操作技巧,不在这边赘述.

  • 通俗讲解Python中的五种下划线含义

    目录 前言 1.后单下划线例如: data_ 2.前单下划线例如: _data 3.前双下划线例如: __data 4.前后双下划线: __data__ 5.单下划线例如: _ 总结 前言 本来而言,这个问题网上很多资料,但是网上资料都是复制来复制去,很多话大家其实都不是很明白的,或者拿着官方文档翻译过来的,让人看的非常迷糊.今天我我通俗好懂表述解释下这几种情况 1.后单下划线例如: data_ 其实这种就是为了防止跟系统关键字重名了,比如 python 里是不是有个关键字 class 但是我也

  • Java中Date,Calendar,Timestamp的区别以及相互转换与使用

    1 Java.util.Date包含年.月.日.时.分.秒信息. 复制代码 代码如下: // String转换为DateString dateStr="2013-8-13 23:23:23";String pattern="yyyy-MM-dd HH:mm:ss";DateFormate dateFormat=new SimpleDateFormat(pattern);Date date=dateFormat.parse(dateStr);date=dateForm

  • Java实现驼峰和下划线互相转换的示例代码

    目录 前言 1.驼峰与下划线互转 2.测试 3.方法补充 前言 基本语法 首先我们要知道java的基础语法. 1.由26个英文字母大小写,0-9,_或$组成 2.数字不可以开头 3.不可以使用关键字和保留字,但是能包括关键字和保留字 4.Java中严格区分大小写,长度无限制 5.标识符不能包括空格 6.取名尽量做到“见名知意” 驼峰命名法 骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例). 正如它的名称CamelCase所表示的那样,是指混合使用大小写

  • 浅谈一下Python中5种下划线的含义

    目录 1.单前导下划线:_var 2.单末尾下划线 var_ 3. 双前导下划线 __var 4.双前导和双末尾下划线 _var_ 5.单下划线 _ 1.单前导下划线:_var 当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义. 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响. 下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用. 该约定在PEP 8中有定义. 这不是Python强制规定的. Python不像J

随机推荐