方式1:自定义方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 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; }
}
|
运行结果:
上面的代码可以用 StringBuilder 优化性能。
方式2:使用 guava 库 Strings.padStart、Strings.padEnd 方法
在 gradle 项目中引入依赖:
1 2 3
| dependencies { compile 'com.google.guava:guava:28.0-jre' }
|
代码示例:
1 2 3 4 5 6 7 8 9 10
| 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, '*') ); }
}
|
运行结果:
方式3:使用 Apache Commons Lang 库中的工具方法
在 gradle 项目中引入依赖:
1 2 3
| dependencies { compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9' }
|
代码示例:
1 2 3 4 5 6 7 8 9 10
| 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, '*') ); }
}
|
运行结果: