我需要将字符串数组转换为字符串的Java代码。


当前回答

String array[]={"one","two"};
String s="";

for(int i=0;i<array.length;i++)
{
  s=s+array[i];
}

System.out.print(s);

其他回答

你需要从数组列表中生成字符串的代码,

Iterate through all elements in list and add it to your String result

你可以用两种方式:使用String作为结果或使用StringBuffer/StringBuilder。

例子:

String result = "";
for (String s : list) {
    result += s;
}

...但由于性能原因,这不是一个好的实践。更好的方法是使用StringBuffer(线程安全)或StringBuilder,它们更适合添加字符串

你可以这样做,给定一个基本类型的数组a:

StringBuffer result = new StringBuffer();
for (int i = 0; i < a.length; i++) {
   result.append( a[i] );
   //result.append( optional separator );
}
String mynewstring = result.toString();

我喜欢使用谷歌的番石榴Joiner,例如:

Joiner.on(", ").skipNulls().join("Harry", null, "Ron", "Hermione");

将产生与以下相同的String:

new String("Harry, Ron, Hermione");

ETA: Java 8现在也有类似的支持:

String.join(", ", "Harry", "Ron", "Hermione");

不能看到跳过空值的支持,但这很容易解决。

使用Apache Commons的StringUtils库的join方法。

String[] stringArray = {"a","b","c"};
StringUtils.join(stringArray, ",");

使用Apache commons StringUtils.join()。它接受一个数组作为参数(也有Iterable和Iterator参数的重载),并对每个元素(如果它不为null)调用toString()来获得每个元素的字符串表示形式。然后,每个元素的字符串表示形式被连接成一个字符串,如果指定了分隔符,则中间有分隔符:

String joinedString = StringUtils.join(new Object[]{"a", "b", 1}, "-");
System.out.println(joinedString);

生产:

a-b-1