好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

前言

基本语法

首先我们要知道java的基础语法。

1.由26个英文字母大小写,0-9,_或$组成

2.数字不可以开头

3.不可以使用关键字和保留字,但是能包括关键字和保留字

4.Java中严格区分大小写,长度无限制

5.标识符不能包括空格

6.取名尽量做到[见名知意]

驼峰命名法

骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。

正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。

程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

printEmployeePaychecks();

print_employee_paychecks();

第一个函数名使用了驼峰命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;

第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

1.驼峰与下划线互转

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

/**

  * 驼峰法-下划线互转

  * @author cshaper

  * @since 2015.07.04

  * @version 1.0.0

  */

public class UnderlineToCamelUtils {

  

  /**

   * 下划线转驼峰法

   * @param line 源字符串

   * @param smallCamel 大小驼峰,是否为小驼峰

   * @return 转换后的字符串

   */

  public static String underlineToCamel(String line, boolean smallCamel){

   if (line== null || "" .equals(line)){

    return "" ;

   }

   StringBuffer sb= new StringBuffer();

   Pattern pattern=Pattern测试数据pile( "([A-Za-z\\d]+)(_)?" );

   Matcher matcher=pattern.matcher(line);

   while (matcher.find()){

    String word=matcher.group();

    sb.append(smallCamel&&matcher.start()== 0 ?Character.toLowerCase(word.charAt( 0 )):Character.toUpperCase(word.charAt( 0 )));

    int index=word.lastIndexOf( '_' );

    if (index> 0 ){

     sb.append(word.substring( 1 , index).toLowerCase());

    } else {

     sb.append(word.substring( 1 ).toLowerCase());

    }

   }

   return sb.toString();

  }

  /**

   * 驼峰法转下划线

   * @param line 源字符串

   * @return 转换后的字符串

   */

  public static String camelToUnderline(String line){

   if (line== null || "" .equals(line)){

    return "" ;

   }

   line=String.valueOf(line.charAt( 0 )).toUpperCase().concat(line.substring( 1 ));

   StringBuffer sb= new StringBuffer();

   Pattern pattern=Pattern测试数据pile( "[A-Z]([a-z\\d]+)?" );

   Matcher matcher=pattern.matcher(line);

   while (matcher.find()){

    String word=matcher.group();

    sb.append(word.toUpperCase());

    sb.append(matcher.end()==line.length()? "" : "_" );

   }

   return sb.toString();

  }

}

2.测试

?

1

2

3

4

5

6

public static void main(String[] args) {

  String line= "I_HAVE_AN_IPANG3_PIG" ;

  String camel=underlineToCamel(line, true );

  System.out.println(camel);

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

}

3.方法补充

除了上面的方法,本文还为大家准备了更简短的方法,需要的可以参考一下

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

   /***

    * <p>

    * 将驼峰转为下划线

    * </p >

    * @param str

    * @return java.lang.String

    * @author comapss

    * @date 2022/5/9 0:01

    * @since 1.0.0

   **/

    public static String humpToUnderline(String str) {

        Pattern compile = Pattern测试数据pile( "[A-Z]" );

        Matcher matcher = compile.matcher(str);

        StringBuffer sb = new StringBuffer();

        while (matcher.find()) {

            matcher.appendReplacement(sb,  "_" + matcher.group( 0 ).toLowerCase());

        }

        matcher.appendTail(sb);

        return sb.toString();

    }

 

/***

  * <p>

  * 将下划线转为驼峰

  * </p >

  * @param str

  * @return java.lang.String

  * @author comapss

  * @date 2022/5/9 0:01

  * @since 1.0.0

**/

    public static String underlineToHump(String str) {

        str = str.toLowerCase();

        Pattern compile = Pattern测试数据pile( "_[a-z]" );

        Matcher matcher = compile.matcher(str);

        StringBuffer sb = new StringBuffer();

        while (matcher.find()) {

            matcher.appendReplacement(sb,  matcher.group( 0 ).toUpperCase().replace( "_" , "" ));

        }

        matcher.appendTail(sb);

        return sb.toString();

    }

以上就是Java实现驼峰和下划线互相转换的示例代码的详细内容,更多关于Java驼峰 下划线互转的资料请关注其它相关文章!

原文链接:https://blog.csdn.net/LuckFairyLuckBaby/article/details/89534109

查看更多关于Java实现驼峰和下划线互相转换的示例代码的详细内容...

  阅读:27次