有一种很好的方法可以创建一个字符串,该字符串使用一个int(计数器)和要设置的字符的多个字符进行初始化。 简单地说,我希望一个方法在传递5和#作为参数时返回“#,#,#,#,#”。
有什么想法吗?
答案 0 :(得分:1)
为此编写方法非常简单:
public static String createPlaceholderString(char placeholder, int count) {
StringBuilder builder = new StringBuilder(count * 2 - 1);
for (int i = 0; i < count; i++) {
if (i!= 0) {
builder.append(',');
}
builder.append(placeholder);
}
return builder.toString();
}
(请注意,我们可以使用恰当大小的缓冲区初始化构建器,因为我们知道它的大小。)
你可以使用来自Guava的Strings.repeat
内容:
String text = Strings.repeat("#,", count - 1) + "#";
甚至更为深奥:
String text = Joiner.on(',').join(Iterables.limit(Iterables.cycle("#"), count));
......但我个人可能会坚持使用这种方法。
答案 1 :(得分:1)
使用StringUtils中的Apache Commons lang library实用程序:
String myString = StringUtils.repeat("#", ",", 5);
如果你只想要字符(而不是逗号分隔符),那就是:
String myString = StringUtils.repeat("#", 5);
答案 2 :(得分:0)
尝试:
public String buildString(int nbr, String repeat){
StringBuilder builder = new StringBuilder();
for(int i=0; i>nbr; i++){
builder.append(repeat);
if(i<(nbr-1))
builder.append(",");
}
return builder.toString();
}