基本上给定一个 int,我需要生成一个具有相同长度且仅包含指定字符的字符串。相关问题here ,但它与 C# 相关,并且字符串中的内容确实很重要。
这个question ,我对此的回答就是我问这个问题的原因。我不确定提高性能的最佳方法是什么。
示例
方法签名:
String getPattern(int length, char character);
用法:
//returns "zzzzzz"
getPattern(6, 'z');
我尝试过的
String getPattern(int length, char character) {
String result = "";
for (int i = 0; i < length; i++) {
result += character;
}
return result;
}
这是我在性能方面能做到的最好的吗?
最佳答案
您应该使用StringBuilder而不是以这种方式连接字符。使用StringBuilder.append() .
StringBuilder 将为您提供更好的性能。您所做的连接方式的问题是每次创建一个新字符串(字符串是不可变的),然后复制旧字符串,附加新字符串,然后丢弃旧字符串。这是很多额外的工作,在一段时间内(比如在一个大的 for 循环中)会导致性能下降。
关于java - 用指定字符填充指定长度的字符串的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226623/