如何在Java中初始化具有动态长度的String?
例如,我想要一个由 n 个字符a
组成的字符串,其中 n 是一个变量。我能这样做吗?
答案 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.