国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中駝峰與下劃線的寫法互轉(zhuǎn)

2019-11-26 13:15:01
字體:
供稿:網(wǎng)友

前言

在實(shí)際項(xiàng)目開發(fā)中,會碰到這樣的問題,數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)好了,可實(shí)體類還沒相應(yīng)地弄出來。實(shí)體類的屬性命名方法一般是駝峰法,而數(shù)據(jù)庫中的表字段命名方法用的是下劃線法。如果表的字段非常多,我們根據(jù)設(shè)計(jì)好的數(shù)據(jù)庫字段再手動敲寫一遍駝峰法的屬性,這有點(diǎn)費(fèi)時(shí)了。如何迅速地把數(shù)據(jù)庫中的表字段變成我們所需要的駝峰式的屬性呢?

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

第二種方法如下:

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

package day0704;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 駝峰法-下劃線互轉(zhuǎn) * @author cshaper * @since 2015.07.04 * @version 1.0.0 */public class Underline2Camel {  /**  * 下劃線轉(zhuǎn)駝峰法  * @param line 源字符串  * @param smallCamel 大小駝峰,是否為小駝峰  * @return 轉(zhuǎn)換后的字符串  */ 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(); } /**  * 駝峰法轉(zhuǎn)下劃線  * @param line 源字符串  * @return 轉(zhuǎn)換后的字符串  */ 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)); }}

運(yùn)行結(jié)果如下:

iHaveAnIpang3Pig

I_HAVE_AN_IPANG3_PIG

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉溪市| 丰台区| 两当县| 广水市| 泉州市| 介休市| 确山县| 康定县| 永顺县| 兰溪市| 新化县| 莒南县| 万载县| 香河县| 都匀市| 牡丹江市| 江永县| 平凉市| 留坝县| 左云县| 合山市| 都江堰市| 福清市| 云梦县| 邵阳县| 洛隆县| 禹州市| 桓台县| 衡水市| 闽侯县| 东乡县| 南汇区| 扎鲁特旗| 白河县| 东方市| 花莲市| 丰县| 雅安市| 嘉义市| 苍山县| 新余市|