【发布时间】:2010-12-20 15:34:34
【问题描述】:
我确实检查了其他问题;这个问题的重点是以最有效的方式解决这个特定问题。
有时您想创建一个具有指定长度的新字符串,并使用默认字符填充整个字符串。
也就是说,如果你可以使用new String(10, '*') 并从那里创建一个新字符串,长度为 10 个字符,所有字符都带有 *,那就太棒了。
因为这样的构造函数不存在,并且您不能从 String 扩展,您必须创建一个包装类或一个方法来为您执行此操作。
此时我正在使用这个:
protected String getStringWithLengthAndFilledWithCharacter(int length, char charToFill) {
char[] array = new char[length];
int pos = 0;
while (pos < length) {
array[pos] = charToFill;
pos++;
}
return new String(array);
}
它仍然缺少任何检查(即,当长度为 0 时它不起作用)。我首先构造数组,因为我相信它比使用字符串连接或使用 StringBuffer 更快。
其他人有更好的解决方案吗?
【问题讨论】: