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


当前回答

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

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

System.out.print(s);

其他回答

试试数组。toString重载方法。

否则,试试下面的通用实现:

public static void main(String... args) throws Exception {

    String[] array = {"ABC", "XYZ", "PQR"};

    System.out.println(new Test().join(array, ", "));
}

public <T> String join(T[] array, String cement) {
    StringBuilder builder = new StringBuilder();

    if(array == null || array.length == 0) {
        return null;
    }

    for (T t : array) {
        builder.append(t).append(cement);
    }

    builder.delete(builder.length() - cement.length(), builder.length());

    return builder.toString();
}

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

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

生产:

a-b-1

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

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

你可以这样做,给定一个基本类型的数组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();

在Java 8中,我认为最简单的方法是:

    String[] array = { "cat", "mouse" };
    String delimiter = "";
    String result = String.join(delimiter, array);

这样您就可以选择任意的分隔符。