一、手动循环 + StringBuilder

String str = "test";
int targetLength = 10;

StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < (targetLength - str.length()); i++) {
    stringBuilder.append("0");
}
String result = stringBuilder.toString() + str;

System.out.println(result);
# 输出结果

000000test

二、手动循环 + StringBuilder insert 方法

String str = "test";
int targetLength = 10;

StringBuilder stringBuilder = new StringBuilder(str);
for (int i = 0; i < (targetLength - str.length()); i++) {
    stringBuilder.insert(0, "0");
}
String result = stringBuilder.toString();

System.out.println(result);

三、使用 String format 方法

String str = "test";
int targetLength = 10;

String result = String.format("%" + targetLength + "s", str).replace(' ', '0');

System.out.println(result);

四、使用 String repeat 方法

String str = "test";
int targetLength = 10;

String result = "0".repeat(targetLength - str.length()) + str;

System.out.println(result);

五、使用 Apache Commons Lang

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.13.0</version>
</dependency>
String str = "test";
int targetLength = 10;

String result = StringUtils.leftPad(str, targetLength, '0');

System.out.println(result);

六、使用 Google Guava

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>32.1.2-jre</version>
</dependency>
String str = "test";
int targetLength = 10;

String result = Strings.padStart(str, targetLength, '0');

System.out.println(result);
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐