📜  java 字符串填充 - Java (1)

📅  最后修改于: 2023-12-03 15:31:33.501000             🧑  作者: Mango

Java字符串填充

在Java中,有时我们需要将某个字符串填充到一定长度,以便于对齐等操作。Java提供了一些内置函数来实现字符串填充。

使用String.format()函数

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则表示字符串类型。

使用StringUtils类

除了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类。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字符串填充的三种方法,可以根据不同的情况选择不同的方法来实现。