方式1:自定义方法
public class StringPad {
public static void main(String[] args) {
System.out.println( padLeft("Hello", 10, '*') );
System.out.println( padRight("Hello", 10, '*') );
}
/**
* 左侧补字符
*/
public static String padLeft(String origin, int length, char ch) {
while (origin.length() < length) {
origin = ch + origin;
}
return origin;
}
/**
* 右侧补字符
*/
public static String padRight(String origin, int length, char ch) {
while (origin.length() < length) {
origin = origin + ch;
}
return origin;
}
}
运行结果:
*****Hello
Hello*****
上面的代码可以用 StringBuilder 优化性能。
方式2:使用 guava 库 Strings.padStart、Strings.padEnd 方法
在 gradle 项目中引入依赖:
dependencies {
compile 'com.google.guava:guava:28.0-jre'
}
代码示例:
import com.google.common.base.Strings;
public class StringPad {
public static void main(String[] args) {
System.out.println( Strings.padStart("Hello", 10, '*') );
System.out.println( Strings.padEnd("Hello", 10, '*') );
}
}
运行结果:
*****Hello
Hello*****
方式3:使用 Apache Commons Lang 库中的工具方法
在 gradle 项目中引入依赖:
dependencies {
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
}
代码示例:
import org.apache.commons.lang3.StringUtils;
public class StringPad {
public static void main(String[] args) {
System.out.println( StringUtils.leftPad("Hello", 10, '*') );
System.out.println( StringUtils.rightPad("Hello", 10, '*') );
}
}
运行结果:
*****Hello
Hello*****