【发布时间】:2014-02-06 10:41:15
【问题描述】:
如何在 Java 中初始化具有动态长度的字符串?
例如,我想要一个由n 个字符a 组成的字符串,其中n 是一个变量。我可以这样做吗?
【问题讨论】:
如何在 Java 中初始化具有动态长度的字符串?
例如,我想要一个由n 个字符a 组成的字符串,其中n 是一个变量。我可以这样做吗?
【问题讨论】:
您可以使用 StringBuilder 并定义一个名为例如的方法。获取字符串。
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);
【讨论】:
你可以使用 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();
【讨论】:
Java 中的数组具有固定长度。如果希望大小是动态的,则需要使用 List 对象
List<String> stringList = new ArrayList<String>();
查看ArrayList 文档。
如果你需要数组,那么
String[] stringArray = stringList .toArray(new String[stringList .size()]);
【讨论】:
字符串是不可变的。当您初始化一个字符串时,它是一次。你不能不时改变它的大小。大小不应该是动态的。
使用 StringBuilder 等其他选项来执行此操作
【讨论】:
StringBuilder strB = new StringBuilder();
for(int i = 0; i < size; i++)
{
strB.append("a");
}
String str = strB.toString();
【讨论】:
您可以使用List
ArrayList<String> mylist = new ArrayList<String>();
mylist.add(mystring); //this adds an element to the list.
【讨论】: