使⽤StringBuilder实现format⽅法
时间: 2023-10-20 21:08:55 浏览: 74
StringBuilder的用法
Java中的StringBuilder类用于动态创建字符串,可以有效提高字符串拼接的效率。实现format方法可以参考以下代码:
```
public static String format(String format, Object... args) {
StringBuilder sb = new StringBuilder();
int argIndex = 0;
int length = format.length();
for (int i = 0; i < length; i++) {
char ch = format.charAt(i);
if (ch == '{') {
int end = format.indexOf('}', i);
if (end == -1) {
throw new IllegalArgumentException("Invalid format string: " + format);
}
if (argIndex >= args.length) {
throw new IllegalArgumentException("Not enough arguments for format string: " + format);
}
sb.append(args[argIndex++]);
i = end;
} else if (ch == '}') {
throw new IllegalArgumentException("Invalid format string: " + format);
} else {
sb.append(ch);
}
}
return sb.toString();
}
```
该方法接收两个参数,第一个参数为格式化字符串,第二个参数为可变参数列表。在代码中,我们使用StringBuilder来拼接字符串。遍历格式化字符串中的每一个字符,如果遇到`{`字符,则获取接下来的数字作为参数的索引,从可变参数列表中获取值并拼接到StringBuilder中,如果遇到`}`字符则抛出异常。如果遇到其他字符则直接拼接到StringBuilder中。最后将StringBuilder转换为String并返回即可。
阅读全文