一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - java中駝峰與下劃線的寫法互轉

java中駝峰與下劃線的寫法互轉

2020-07-27 14:08崴腳步花鹽人 JAVA教程

這篇文章主要介紹了java中駝峰與下橫線的寫法互轉方法,文中先是進行了簡單的介紹,之后跟大家分享了一個自己編寫的工具類的示例代碼,有需要的朋友可以參考借鑒,下面來一起學習學習吧。

前言

在實際項目開發中,會碰到這樣的問題,數據庫表結構設計好了,可實體類還沒相應地弄出來。實體類的屬性命名方法一般是駝峰法,而數據庫中的表字段命名方法用的是下劃線法。如果表的字段非常多,我們根據設計好的數據庫字段再手動敲寫一遍駝峰法的屬性,這有點費時了。如何迅速地把數據庫中的表字段變成我們所需要的駝峰式的屬性呢?

解決方法有二,一是通過文本編輯工具,如EditPlus,Notepad++等,利用它們攜帶的正則替換功能來迅速實現;二是通過自己編寫工具類來實現。至于第一種方法操作技巧,不在這邊贅述。

第二種方法如下:

以下是自己編寫的工具類的代碼:

java" id="highlighter_665105">
?
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
58
59
60
61
62
63
64
65
package day0704;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * 駝峰法-下劃線互轉
 * @author cshaper
 * @since 2015.07.04
 * @version 1.0.0
 */
public class Underline2Camel {
 
 /**
  * 下劃線轉駝峰法
  * @param line 源字符串
  * @param smallCamel 大小駝峰,是否為小駝峰
  * @return 轉換后的字符串
  */
 public static String underline2Camel(String line,boolean smallCamel){
  if(line==null||"".equals(line)){
   return "";
  }
  StringBuffer sb=new StringBuffer();
  Pattern pattern=Pattern.compile("([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 camel2Underline(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.compile("[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();
 }
 public static void main(String[] args) {
  String line="I_HAVE_AN_IPANG3_PIG";
  String camel=underline2Camel(line,true);
  System.out.println(camel);
  System.out.println(camel2Underline(camel));
 }
}

運行結果如下:

iHaveAnIpang3Pig

I_HAVE_AN_IPANG3_PIG

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用Java能有一定的幫助,如果有疑問大家可以留言交流。

原文鏈接:http://www.cnblogs.com/javasharp/p/4622413.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费超级乱淫视频播放性 | 美女脱了内裤让男生玩屁股 | 亚洲av欧美在我 | 久久精品动漫网一区二区 | 国产一区风间由美在线观看 | 亚洲成片在线看 | 天天干女人 | 99视频全部看免费观 | 99re这里只有精品在线观看 | 小早川怜子在线播放精品 | 韩国三级大全 | 99精品免费观看 | 国产yw193.㎝m在线观看 | 亚洲精品国产精麻豆久久99 | 白白国产永久免费视频 | 色噜噜视频影院 | 无码人妻丰满熟妇啪啪网不卡 | 国产剧情在线播放 | 2019国产精品 | 亚洲国产AV无码综合在线 | 福利社在线免费观看 | 99在线观看免费视频 | 短篇同学新婚h系列小说 | 亚洲欧美在线观看首页 | 四虎影视永久在线观看 | 国模孕妇季玥337p人体 | 交换余生在线播放免费 | 亚洲精品国产乱码AV在线观看 | 湿好紧太硬了我太爽了 | 成人久久伊人精品伊人 | 日本在线看免费 | 国产农村一级特黄α真人毛片 | yin娃sao货调教情趣用品店 | avtt天堂网 手机资源 | 掀开奶罩边躁狠狠躁软学生 | 国产欧美一区二区三区久久 | 国产特黄a级在线视频 | 免费一区在线观看 | 亚洲精品卡一卡2卡3卡4卡 | 欧美人鲁交大全 | 亚洲国产视频网站 |