2015-07-20 102 views
-1

我想用我有的字段数制作一个字符串,在这个例子中是15但我想要一个可变数量的字段。在一个循环中创建一个字符串

new String[] { "field1", "field2", "field3"} 

我认为一个会是一个好主意,但我怎样才能总结过去的“领域”?

String fields[]; 
    for (int i=0; i < headers.size(); i++){ 
     String temp[]={"field"+"[i]"}; 
     fields=fields+temp; 
    } 

我要的是

String new[]{ "field1", "field2", "field3"} 
+2

你想使一个String数组'的String []'或'单String' ? – Codebender

+0

你是什么意思*总结过去的“领域”*?输入和预期结果的后示例。 BTW数组和列表从0索引,而不是1. – Pshemo

+0

字符串数组[] – mnfaria

回答

0
int x = 100;//The number you want 
String[] tmp = new String[x]; 
for(int p = 0; p < x; p++) { 
    tmp[p] = "field" + (p + 1); //P+1 to offset for the 0 start. 
} 

这会给什么,我认为你正在寻找的结果。而不是你想要做的,只需创建一个正确大小的空数组,然后用结果填充它。

如果你只是希望打印字段的摘要,用类似这样的东西...

String output = ""; 
for(int p = 0; p < tmp.length; p++) { 
    output += " " + tmp[p]; //added a space for readability 
} 
System.out.println(output); 
+1

'output + =“”+ tmp [p];'不要在循环内部做这个。使用'StringBuilder'和'append'方法。现在,在每次迭代中,您都要创建一个新的String,它需要复制旧的字符串并将新的部分添加到它。注意,复制长字符串只是为了添加一些小部分可能会非常昂贵。 – Pshemo

+0

我不建议在循环中使用字符串连接。最好的方法是使用StringBuilder来避免使用不必要的字符串混淆内存。 – JFPicard

+0

@JFPicard所以这样的事情? (int i = 0; i mnfaria

相关问题