📅  最后修改于: 2023-12-03 15:31:33.501000             🧑  作者: Mango
在Java中,有时我们需要将某个字符串填充到一定长度,以便于对齐等操作。Java提供了一些内置函数来实现字符串填充。
String.format()
函数可以实现将字符串格式化成一定的格式。其中,将使用%s表示字符串,%n表示换行,%d表示整数等等。我们可以使用%1s表示填充到1个长度,%2s表示填充到2个长度,以此类推。
下面是一个例子:
String str = "Java";
String paddedStr = String.format("%1$10s", str);
System.out.println(paddedStr); // 输出 " Java"
在上面的例子中,%1$10s
表示将str
填充到10个长度。其中,%1$
是一个参数索引,表示第一个参数,10
是一个宽度说明符,表示需要填充的长度,s
则表示字符串类型。
除了Java内置函数,还可以使用Apache Commons Lang库中的StringUtils类。比如,StringUtils类中的leftPad()
函数可以将字符串填充到指定长度,并且可以选择填充的内容。
下面是一个例子:
import org.apache.commons.lang3.StringUtils;
String str = "Java";
String paddedStr = StringUtils.leftPad(str, 10, "-");
System.out.println(paddedStr); // 输出 "------Java"
在上面的例子中,StringUtils.leftPad(str, 10, "-")
表示将str
填充到10个长度,并且使用字符-
进行填充。
如果我们需要填充的长度很大,而且需要重复填充相同的字符,那么可以使用StringBuilder类。StringBuilder类提供了append()
函数来向字符串中添加字符。
下面是一个例子:
int length = 10;
char ch = '-';
StringBuilder paddedStr = new StringBuilder(length);
for (int i = 0; i < length - str.length(); i++) {
paddedStr.append(ch);
}
paddedStr.append(str);
System.out.println(paddedStr.toString()); // 输出 "------Java"
在上面的例子中,我们使用循环重复添加字符-
,然后再加上原字符串str
。最后调用toString()
函数将StringBuilder对象转换成字符串。
以上就是Java字符串填充的三种方法,可以根据不同的情况选择不同的方法来实现。