使String多次包含相同的字符

时间:2014-01-17 07:27:38

标签: java string

如何在Java中初始化具有动态长度的String?

例如,我想要一个由 n 个字符a组成的字符串,其中 n 是一个变量。我能这样做吗?

6 个答案:

答案 0 :(得分:5)

您可以使用StringBuilder并定义一个名为的方法,例如的getString。

public static String getString(char ch, int n){ 
        StringBuilder sb = new StringBuilder(n);
        for (int i=0; i<n; i++){
           sb.append(ch);
        }
        String s = sb.toString();
        return s;
}

现在你可以调用这个方法。

String sA1 = getString('a', 10);
String sA2 = getString('a', 20);
String sB = getString('b', 30);
String sC = getString('c', 5);  

答案 1 :(得分:2)

您可以使用StringBuilder

StringBuilder sb = new StringBuilder();
String myChar = "a";
int n = 10;
for(int i=0; i<n;i++){
   sb.append(myChar);
}

String myResult = sb.toString();

答案 2 :(得分:1)

数组在Java中具有固定长度。如果希望大小是动态的,则需要使用List对象

List<String> stringList = new ArrayList<String>();

查看ArrayList文档。

如果你需要数组那么

String[] stringArray = stringList .toArray(new String[stringList .size()]);

答案 3 :(得分:0)

字符串是不可变的。初始化字符串时,它只是一次。你不能随时改变它的大小。大小不应该是动态的。

使用StringBuilder等其他选项来执行此操作

答案 4 :(得分:0)

StringBuilder strB = new StringBuilder();
for(int i = 0; i < size; i++)
{
  strB.append("a");
}

String str = strB.toString();

答案 5 :(得分:0)

您可以使用List

ArrayList<String> mylist = new ArrayList<String>();
mylist.add(mystring); //this adds an element to the list.