Java生成一定規(guī)則遞增編號
前言
Java 中如何生成一定規(guī)則遞增編號?
一、需求描述
項目需求中有時需要生成一定規(guī)則遞增編號。例如生成設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補0),也就是 SYXH000001 / SYXH00002 / SDOI00001 類似這樣。 那么如何處理 000001 自增1變?yōu)?000002 呢?
接下來我們直接上代碼!
二、代碼實現(xiàn)
1.代碼實現(xiàn)Demo
java復(fù)制代碼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é)果:
java復(fù)制代碼生成設(shè)備編號:SYXH00033
2.代碼解釋
從上面代碼中可以看到,首先我們默認(rèn)了一個初始設(shè)備編號,當(dāng)傳入方法的最新設(shè)備編號為 null
或是空時將使用。 如果傳入了數(shù)據(jù)庫中最新設(shè)備編號,將首先使用 Integer
的 parseInt()
方法返回十進(jìn)制整數(shù),這樣就可以對其自增1。 最后通過 String
的 format()
方法進(jìn)行字符串格式化返回就可以了。
三、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ù)字的示例:
java復(fù)制代碼int num = 123; String formattedNum = String.format("%05d", num); System.out.println("The formatted number is: " + formattedNum);
在上面的示例中,數(shù)字123在進(jìn)行格式化時,因為只有3個字符,不足5個字符,所以通過左側(cè)補0的方式,將數(shù)字格式化為了 “00123”。
總結(jié)
上述簡單實現(xiàn)了使用 Java 生成一定規(guī)則遞增編號,是在已知的庫中最新編號自增1。只是一個簡單思路,供大家參考。