java字符串?dāng)?shù)字補齊位數(shù)詳解
java字符串?dāng)?shù)字補齊位數(shù)
在Java中實現(xiàn)字符串位數(shù)補齊主要有以下幾種常用方法,可根據(jù)不同場景選擇使用:
一、使用String.format()方法
- 1. 左補齊(右側(cè)補空格)
String result = String.format("%10s", "hello"); // 總長度10,左側(cè)補空格?:ml-citation{ref="5" data="citationList"}- 2. 右對齊(左側(cè)補零)
String str = String.format("%06d", 12345); // 輸出"012345"?:ml-citation{ref="5,7" data="citationList"}- 3. 自定義補位字符
通過替換空格實現(xiàn)其他字符補齊:
String res = String.format("%5s", "gr").replace(' ', '1'); // 輸出"111gr"?:ml-citation{ref="4" data="citationList"}二、Apache Commons Lang庫方法
- 使用StringUtils.leftPad()實現(xiàn)左補齊:
String value = StringUtils.leftPad("3123123", 10, "0"); // 輸出"0003123123"?:ml-citation{ref="4" data="citationList"}三、Java 11+的String.repeat()方法
- 適用于已知需要補足的具體字符數(shù):
String padding = " ".repeat(16 - originalStr.length());
String result = originalStr + padding; // 右補空格至16位?:ml-citation{ref="3" data="citationList"}四、循環(huán)遍歷實現(xiàn)
- 通過StringBuilder動態(tài)構(gòu)建補位字符串:
public static String padString(String input, char padChar, int length) {
StringBuilder result = new StringBuilder(input);
while (result.length() < length) {
result.insert(0, padChar); // 左補指定字符?:ml-citation{ref="1" data="citationList"}
}
return result.toString();
}五、NumberFormat數(shù)字格式化
- 適用于數(shù)字類型補零:
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumIntegerDigits(6); // 設(shè)置最小整數(shù)位數(shù)
String formatted = nf.format(123); // 輸出"000123"?:ml-citation{ref="5" data="citationList"}選擇建議:
- 原生推薦:優(yōu)先使用String.format(),代碼簡潔且性能較好57
- 第三方庫場景:若項目中已引入Apache Commons Lang,推薦StringUtils.leftPad()4
- 超長補位需求:Java 11+的repeat()方法更高效3
- 歷史兼容性:低版本Java可使用循環(huán)遍歷實現(xiàn)12
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java OpenCV利用KNN算法實現(xiàn)圖像背景移除
這篇文章主要為大家介紹了Java OpenCV利用K最鄰近(KNN,K-NearestNeighbor)分類算法實現(xiàn)圖像背景移除的示例代碼,需要的可以參考一下2022-01-01
線程池ThreadPoolExecutor應(yīng)用過程
這篇文章主要介紹了如何使用ThreadPoolExecutor創(chuàng)建線程池,包括其構(gòu)造方法、常用方法、參數(shù)校驗以及如何選擇合適的拒絕策略,文章還討論了為什么應(yīng)該強制要求使用ThreadPoolExecutor創(chuàng)建線程池,并提供了在項目和Spring中創(chuàng)建線程池的示例2025-12-12
Java一維數(shù)組和二維數(shù)組元素默認初始化值的判斷方式
這篇文章主要介紹了Java一維數(shù)組和二維數(shù)組元素默認初始化值的判斷方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
java源碼解析之String類的compareTo(String otherString)方法
這篇文章主要給大家介紹了關(guān)于java源碼解析之String類的compareTo(String otherString)方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
SpringBoot中注冊Bean的10種方式總結(jié)
在Spring Boot應(yīng)用中,Bean是構(gòu)成應(yīng)用的核心組件,Spring容器負責(zé)管理這些Bean,包括它們的創(chuàng)建、配置、組裝、管理和銷毀,在Spring Boot中,有多種方式可以注冊Bean,本文將詳細介紹這些不同的注冊方式,并給出相應(yīng)的示例代碼和適用場景,需要的朋友可以參考下2024-08-08
springBoot無法加載application.properties的問題解決
本文介紹了SpringBoot項目中測試類無法讀取application.properties配置文件的問題,詳細記錄了排查過程及解決方案,感興趣的可以了解一下2025-07-07
詳解多云架構(gòu)下的JAVA微服務(wù)技術(shù)解析
本文介紹了基于開源自建和適配云廠商開發(fā)框架兩種構(gòu)建多云架構(gòu)的思路,以及這些思路的優(yōu)缺點2021-05-05

