Java字符串轉(zhuǎn)駝峰格式的方法
一、場景描述
在開發(fā)場景中,我們會遇到一些涉及字符串的轉(zhuǎn)化。例如:數(shù)據(jù)庫字段的名稱叫TYPE_NAME,但是有時候我們需要將其轉(zhuǎn)化為typeName。或者將typeName的駝峰命名方式轉(zhuǎn)化為TYPE_NAME,這時候就需要進行轉(zhuǎn)化。因此,在這里提供了個工具類。接下來將進行演示。
二、代碼示例
1、下劃線大寫方式命名的字符串轉(zhuǎn)換為駝峰式
示例:STUDENT_NAME轉(zhuǎn)為studentName
/** * 將下劃線大寫方式命名的字符串轉(zhuǎn)換為駝峰式。如果轉(zhuǎn)換前的下劃線大寫方式命名的字符串為空,則返回空字符串 * * @param name 轉(zhuǎn)換前的下劃線大寫方式命名的字符串 * @return 轉(zhuǎn)換后的駝峰式命名的字符串 */ public static String convertToCamelCase(String name) { StringBuilder result = new StringBuilder(); // 快速檢查 if (name == null || name.isEmpty()) { // 沒必要轉(zhuǎn)換 return ""; } else if (!name.contains("_")) { // 不含下劃線,僅將首字母大寫 return name.toLowerCase(); } // 用下劃線將原始字符串分割 String[] camels = name.split("_"); for (String camel : camels) { // 跳過原始字符串中開頭、結(jié)尾的下?lián)Q線或雙重下劃線 if (camel.isEmpty()) { continue; } // 首字母大寫 result.append(camel.substring(0, 1).toUpperCase()); result.append(camel.substring(1).toLowerCase()); } StringBuilder ret = new StringBuilder(result.substring(0, 1).toLowerCase()); ret.append(result.substring(1, result.toString().length())); return ret.toString(); }
2、駝峰式命名的字符串轉(zhuǎn)換為下劃線大寫的方式
示例:studentName轉(zhuǎn)為STUDENT_NAME
/** * 駝峰命名的字符串轉(zhuǎn)為下劃線大寫的方式 * @param name * @return */ public static String humpToUnderline(String name) { StringBuilder result = new StringBuilder(); if (name != null && name.length() > 0) { // 將第一個字符處理成大寫 result.append(name.substring(0, 1).toUpperCase()); // 循環(huán)處理其余字符 for (int i = 1; i < name.length(); i++) { String s = name.substring(i, i + 1); // 在大寫字母前添加下劃線 if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) { result.append("_"); } // 其他字符直接轉(zhuǎn)成大寫 result.append(s.toUpperCase()); } } return result.toString(); }
3、完整代碼
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class MyTest { public static void main(String[] args) throws Exception { System.out.println(humpToUnderline("studentName")); System.out.println(convertToCamelCase("STUDENT_AGE")); } /** * 駝峰命名的字符串轉(zhuǎn)為下劃線大寫的方式 * @param name * @return */ public static String humpToUnderline(String name) { StringBuilder result = new StringBuilder(); if (name != null && name.length() > 0) { // 將第一個字符處理成大寫 result.append(name.substring(0, 1).toUpperCase()); // 循環(huán)處理其余字符 for (int i = 1; i < name.length(); i++) { String s = name.substring(i, i + 1); // 在大寫字母前添加下劃線 if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) { result.append("_"); } // 其他字符直接轉(zhuǎn)成大寫 result.append(s.toUpperCase()); } } return result.toString(); } /** * 將下劃線大寫方式命名的字符串轉(zhuǎn)換為駝峰式。如果轉(zhuǎn)換前的下劃線大寫方式命名的字符串為空,則返回空字符串 * * @param name 轉(zhuǎn)換前的下劃線大寫方式命名的字符串 * @return 轉(zhuǎn)換后的駝峰式命名的字符串 */ public static String convertToCamelCase(String name) { StringBuilder result = new StringBuilder(); // 快速檢查 if (name == null || name.isEmpty()) { // 沒必要轉(zhuǎn)換 return ""; } else if (!name.contains("_")) { // 不含下劃線,僅將首字母大寫 return name.toLowerCase(); } // 用下劃線將原始字符串分割 String[] camels = name.split("_"); for (String camel : camels) { // 跳過原始字符串中開頭、結(jié)尾的下?lián)Q線或雙重下劃線 if (camel.isEmpty()) { continue; } // 首字母大寫 result.append(camel.substring(0, 1).toUpperCase()); result.append(camel.substring(1).toLowerCase()); } StringBuilder ret = new StringBuilder(result.substring(0, 1).toLowerCase()); ret.append(result.substring(1, result.toString().length())); return ret.toString(); } }
測試:
到此這篇關(guān)于Java字符串轉(zhuǎn)駝峰格式的方法的文章就介紹到這了,更多相關(guān)Java字符串轉(zhuǎn)駝峰格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入Ajax代理的Java Servlet的實現(xiàn)詳解
本篇文章是對Ajax代理的Java Servlet的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06Spring框架的環(huán)境搭建和測試實現(xiàn)
這篇文章主要介紹了Spring框架的環(huán)境搭建和測試實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10使用注解@Validated效驗VO參數(shù)是否合規(guī)
這篇文章主要為大家介紹了使用注解@Validated效驗VO參數(shù)是否合規(guī)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05使用SpringBoot與Thrift實現(xiàn)RPC通信的方式詳解
在微服務架構(gòu)的世界里,服務間的通信機制選擇成為了關(guān)鍵決策之一,RPC因其簡潔、高效的特點備受青睞,本文將詳細探討如何利用Spring?Boot和Thrift框架構(gòu)建RPC通信,讓讀者理解其內(nèi)在原理及實現(xiàn)方式,需要的朋友可以參考下2023-10-10SpringBoot統(tǒng)一響應和統(tǒng)一異常處理詳解
在開發(fā)Spring Boot應用時,處理響應結(jié)果和異常的方式對項目的可維護性、可擴展性和團隊協(xié)作有著至關(guān)重要的影響,統(tǒng)一結(jié)果返回和統(tǒng)一異常處理是提升項目質(zhì)量的關(guān)鍵策略之一,所以本文給大家詳細介紹了SpringBoot統(tǒng)一響應和統(tǒng)一異常處理,需要的朋友可以參考下2024-08-08