Java生成一定規(guī)則遞增編號的示例代碼
一、需求描述
項目需求中有時需要生成一定規(guī)則遞增編號。例如生成設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補0),也就是 SYXH000001 / SYXH00002 / SDOI00001 類似這樣。 那么如何處理 000001 自增1變?yōu)?000002 呢?
接下來我們直接上代碼!
二、代碼實現(xiàn)
1.代碼實現(xiàn)Demo
public class Test {
?? ?/**
?? ? * 生成規(guī)則設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補0)
?? ? *?
?? ? * @param equipmentType
?? ? * ?? ??? ??? ??? ?設(shè)備類型
?? ? * @param equipmentNo
?? ? * ?? ??? ??? ??? ?最新設(shè)備編號
?? ? * @return
?? ? */
?? ?public static String getNewEquipmentNo(String equipmentType, String equipmentNo){
?? ??? ?// 默認(rèn)一個初始設(shè)備編號
?? ??? ?String newEquipmentNo = equipmentType + "00001";
?? ??? ?// 判斷傳入的設(shè)備類型與最新設(shè)備編號不為空
?? ??? ?if(equipmentNo != null && !equipmentNo.isEmpty()){
?? ??? ??? ?// 字符串?dāng)?shù)字解析為整數(shù)
?? ??? ??? ?int no = Integer.parseInt(equipmentNo);
?? ??? ??? ?// 最新設(shè)備編號自增1
?? ??? ??? ?int newEquipment = ++no;
?? ??? ??? ?// 將整數(shù)格式化為5位數(shù)字
?? ??? ??? ?newEquipmentNo = String.format(equipmentType + "%05d", newEquipment);
?? ??? ?}
?? ??? ?return newEquipmentNo;
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?String equipmentNo = Test.getNewEquipmentNo("SYXH", "00032");
?? ??? ?System.out.println("生成設(shè)備編號:" + equipmentNo);
?? ?}
}運行結(jié)果:
生成設(shè)備編號:SYXH00033
2.代碼解釋
從上面代碼中可以看到,首先我們默認(rèn)了一個初始設(shè)備編號,當(dāng)傳入方法的最新設(shè)備編號為 null 或是空時將使用。 如果傳入了數(shù)據(jù)庫中最新設(shè)備編號,將首先使用 Integer 的 parseInt() 方法返回十進制整數(shù),這樣就可以對其自增1。 最后通過 String 的 format() 方法進行字符串格式化返回就可以了。
三、String.format()方法
我們重點來看 String.format() 方法 在 Java 中,String.format() 方法用于格式化字符串。在格式化字符串時,常常需要將數(shù)值類型的數(shù)據(jù)(如整數(shù)和浮點數(shù))轉(zhuǎn)換成字符串,同時還需要指定格式化后的字符串的樣式和長度。%05d 是 String.format() 方法中用于將整數(shù)類型格式化成指定長度的字符串類型的參數(shù)之一。
- % 是格式化輸出的標(biāo)記符。
- d 表示指定參數(shù)的類型為整數(shù)類型。
- 0 表示當(dāng)數(shù)字長度不足要求時左側(cè)補0。
- 5 表示最終格式化后的字符串最少包含5個字符。如果數(shù)字長度不足5個字符,則在左側(cè)補0,以達(dá)到最少包含5個字符的要求。
例如,以下是一個使用 String.format() 方法將一個整數(shù)格式化為5位數(shù)字的示例:
int num = 123;
String formattedNum = String.format("%05d", num);
System.out.println("The formatted number is: " + formattedNum);在上面的示例中,數(shù)字123在進行格式化時,因為只有3個字符,不足5個字符,所以通過左側(cè)補0的方式,將數(shù)字格式化為了 “00123”。
總結(jié)
上述簡單實現(xiàn)了使用 Java 生成一定規(guī)則遞增編號,是在已知的庫中最新編號自增1。只是一個簡單思路,供大家參考。
到此這篇關(guān)于Java生成一定規(guī)則遞增編號的示例代碼的文章就介紹到這了,更多相關(guān)Java生成規(guī)則遞增編號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot使用GridFS實現(xiàn)文件的上傳和下載方式
這篇文章主要介紹了Spring Boot使用GridFS實現(xiàn)文件的上傳和下載方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
mybatis框架之mybatis中dao層開發(fā)的兩種方法
這篇文章主要介紹了mybatis框架之mybatis中dao層開發(fā)的兩種方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
Spring?Boot存在路徑遍歷漏洞CVE-2021-22118的問題解析
CVE-2021-22118?是一個在?Spring?Boot?中發(fā)現(xiàn)的漏洞,該漏洞關(guān)系到?Spring?Boot?的開發(fā)者工具(Devtools)中的遠(yuǎn)程更新(Remote?Update)功能,這篇文章主要介紹了Spring?Boot存在路徑遍歷漏洞CVE-2021-22118,需要的朋友可以參考下2023-09-09
SpringMVC實現(xiàn)RESTful風(fēng)格:@PathVariable注解的使用方式
這篇文章主要介紹了SpringMVC實現(xiàn)RESTful風(fēng)格:@PathVariable注解的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
JAVA中 redisTemplate 和 jedis的配合使用操作
這篇文章主要介紹了JAVA中 redisTemplate 和 jedis的配合使用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
MyBatis-Plus高效開發(fā)實戰(zhàn)指南
MyBatis-Plus(簡稱?MP)是?個MyBatis的增強工具,在MyBatis的基礎(chǔ)上只做增強不做改變,為簡化開發(fā),本文介紹MyBatis-Plus高效開發(fā)全攻略,感興趣的朋友跟隨小編一起看看吧2026-03-03

