你可以找到最长的字符串,然后使用Apache commons-lang
StringUtils
来
leftPad
你的两个字符串。就像这样,
int len = Math.max(a.length(), b.length()) + 2;
a = StringUtils.leftPad(a, len);
b = StringUtils.leftPad(b, len);
或者,如果您无法使用StringUtils
- 您可以实现leftPad
。首先是生成空格String
的方法。类似于以下内容:
private static String genString(int len) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < len; i++) {
sb.append(' ');
}
return sb.toString();
}
然后使用它来实现
leftPad
- 类似于,
private static String leftPad(String in, int len) {
return new StringBuilder(in)
.append(genString(len - in.length() - 1)).toString();
}
而且,我像这样进行了测试:
int len = Math.max(a.length(), b.length()) + 2;
System.out.format("%s %.2f%n", leftPad(a, len), price);
System.out.format("%s %.2f%n", leftPad(b, len), price);
输出结果(我想这就是你想要的)
abcdef 4.56
abcdefhijk 4.56
a
和b
的最大长度未知的情况下。 - Elliott Frisch