String.format()这个方法可用于字符串自动补位,例如有四位数字,从0001开始到0002递增+1,普通一点的办法,可以用for循环的方式,进行递增之后转成字符串,再字符串前补字符“0”,但是代码量太多,利用String.format就可以实现数字+1以及补“0”等操作
举个例子:现在要生成一段河流编码,河流编码由三位水系编码、四位数字、一位类型编码、一位序号编码组成,共九位,水系编码以及类型编码都是可以从前端获取,序号编码也是固定的,主要是中间这四位数字是要自己生成,而且是0001这样的格式
利用String.format实现:
/**
* 生成河流编码
* @param waterCode 传入水系代码
* @param code 传入 subString(3,7)位的河流四位数
* @param CodeType 传入河流类型
* @return 返回生成后的河流编码
*/
public static String getRiverCode(String waterCode,String code,String CodeType){
String newCode = waterCode + String.format("%04d",Integer.parseInt(code)+1) + CodeType + "A";
return newCode;
}
// 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型
将新的代码拼接,
Integer.parseInt(code)+1用于数字递增操作,将字符串转成数字进行+1,再根据 "%04d"把不足的用0补上,再由String.format进行格式转换,这就完成了字符串自动补位+1递增的操作。