方式1 StringBuilder左补内容
/**
* 左补内容 当原始内容长度小于传进来的长度时,左补内容,当原始内容长度大于传进来的长度时,返回原始内容
*
* @param c 填充值
* @param length 长度
* @param content 原始内容
* @return
*/
public static String fillLeft(String c, int length, String content) {
String str = "";
StringBuilder bld = new StringBuilder();
if (content.length() < length) {
for (int i = 0; i < length - content.length(); i++) {
bld.append(c);
}
}
str = bld.toString() + content;
return str;
}
方式2 String.format
//生成四位数字,若不够四位,左边补0。若第二个参数本来就大于等于4位,不会做任何填充
String.format("%04d",2);
方式3 commons.lang3.StringUtils.leftPad
借助commons.lang3.StringUtils的leftPad方法
导入依赖包
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
import org.apache.commons.lang3.StringUtils;
public class Test {
public static void main(String[] args) {
String s= "aaa";
//参数1:要填充的字符串
//参数2:需要填充的长度
//参数3:填充字符
//说明:若参数1为null,则直接返回null;若参数1为"",会填充字符
s= StringUtils.leftPad(s,10,'0');
System.out.println(s);
//右补内容
s= StringUtils.rightPad(s,10,'0');
System.out.println(s);
}
}