欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java駝峰轉(zhuǎn)換的方法

 更新時(shí)間:2018年07月09日 08:34:41   作者:小爺胡漢三  
這篇文章主要為大家詳細(xì)介紹了java駝峰轉(zhuǎn)換的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java駝峰轉(zhuǎn)換的具體代碼,供大家參考,具體內(nèi)容如下

將"_"轉(zhuǎn)換成駝峰,將駝峰轉(zhuǎn)換成"_"。

import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * 駝峰轉(zhuǎn)換
 * @author 胡漢三
 * 2017年1月19日 下午4:42:58
 */
public class BeanHump {
 
 //轉(zhuǎn)變的依賴字符
 public static final char UNDERLINE='_';
 
 /**
 * 將駝峰轉(zhuǎn)換成"_"(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(); 
 }
 /**
 * 將"_"轉(zhuǎn)成駝峰(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<len){ 
   sb.append(Character.toUpperCase(param.charAt(i))); 
  } 
  }else{ 
  sb.append(c); 
  } 
 } 
 return sb.toString(); 
 }
 /**
 * 將"_"轉(zhuǎn)成駝峰(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(); 
 } 
 
 /*
 * 測(cè)試
 */
 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"));
 }
}

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring基于注解管理bean實(shí)現(xiàn)方式講解

    Spring基于注解管理bean實(shí)現(xiàn)方式講解

    很多時(shí)候我們需要根據(jù)不同的條件在容器中加載不同的Bean,或者根據(jù)不同的條件來(lái)選擇是否在容器中加載某個(gè)Bean,這就是Bean的加載控制,一般我們可以通過(guò)編程式或注解式兩種不同的方式來(lái)完成Bean的管理
    2023-01-01
  • Java實(shí)現(xiàn)順序表的增刪查改功能

    Java實(shí)現(xiàn)順序表的增刪查改功能

    這篇文章主要介紹了Java實(shí)現(xiàn)順序表的增刪查改功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Java基礎(chǔ)之Math和Random類知識(shí)總結(jié)

    Java基礎(chǔ)之Math和Random類知識(shí)總結(jié)

    今天帶大家來(lái)學(xué)習(xí)java的Math和Random類,文中有非常詳細(xì)的代碼示例及介紹,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • java為何不能多繼承的原因詳解

    java為何不能多繼承的原因詳解

    多重繼承是一個(gè)子類從多個(gè)父類中繼承屬性和方法。C++, Common Lisp是時(shí)下支持多重繼承的流行語(yǔ)言。那java為何不能多繼承呢,下面小編帶大家來(lái)一起學(xué)習(xí)一下吧
    2019-06-06
  • Java 8中HashMap的底層原理解析

    Java 8中HashMap的底層原理解析

    HashMap作為Java中常用的數(shù)據(jù)結(jié)構(gòu)之一,在JDK 1.8中經(jīng)過(guò)了一系列的優(yōu)化和改進(jìn),深入理解其底層原理,包括哈希算法、數(shù)組與鏈表結(jié)構(gòu)、紅黑樹(shù)的引入等,有助于更好地使用和理解HashMap的性能特性,這篇文章主要介紹了Java 8中HashMap的底層原理,需要的朋友可以參考下
    2023-11-11
  • Spring boot詳解緩存redis實(shí)現(xiàn)定時(shí)過(guò)期方法

    Spring boot詳解緩存redis實(shí)現(xiàn)定時(shí)過(guò)期方法

    本篇文章分享的就是spring boot中的一個(gè)輪子,spring cache注解的方式實(shí)現(xiàn)接口數(shù)據(jù)緩存。默認(rèn)的配置想非常簡(jiǎn)單,但是有一個(gè)弊端是緩存數(shù)據(jù)為永久緩存,本次將介紹如何設(shè)置接口緩存數(shù)據(jù)的過(guò)期時(shí)間
    2022-07-07
  • SpringCloud?集成Sentinel的實(shí)戰(zhàn)教程

    SpringCloud?集成Sentinel的實(shí)戰(zhàn)教程

    這篇文章主要介紹了SpringCloud?集成Sentinel的詳細(xì)過(guò)程,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-08-08
  • Java 數(shù)組元素倒序的三種方式(小結(jié))

    Java 數(shù)組元素倒序的三種方式(小結(jié))

    這篇文章主要介紹了Java 數(shù)組元素倒序的三種方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java concurrency線程池之線程池原理(二)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency線程池之線程池原理(二)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 給JavaBean賦默認(rèn)值并且轉(zhuǎn)Json字符串的實(shí)例

    給JavaBean賦默認(rèn)值并且轉(zhuǎn)Json字符串的實(shí)例

    這篇文章主要介紹了給JavaBean賦默認(rèn)值并且轉(zhuǎn)Json字符串的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論