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


当前回答

如果你知道数组有多少元素,一个简单的方法是这样做:

String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3]; 

其他回答

如果你知道数组有多少元素,一个简单的方法是这样做:

String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3]; 
String[] strings = new String[25000];
for (int i = 0; i < 25000; i++) strings[i] = '1234567';

String result;
result = "";
for (String s : strings) result += s;
//linear +: 5s

result = "";
for (String s : strings) result = result.concat(s);
//linear .concat: 2.5s

result = String.join("", strings);
//Java 8 .join: 3ms

Public String join(String delimiter, String[] s)
{
    int ls = s.length;
    switch (ls)
    {
        case 0: return "";
        case 1: return s[0];
        case 2: return s[0].concat(delimiter).concat(s[1]);
        default:
            int l1 = ls / 2;
            String[] s1 = Arrays.copyOfRange(s, 0, l1); 
            String[] s2 = Arrays.copyOfRange(s, l1, ls); 
            return join(delimiter, s1).concat(delimiter).concat(join(delimiter, s2));
    }
}
result = join("", strings);
// Divide&Conquer join: 7ms

如果你没有选择,只能使用Java 6或7,那么你应该使用分治连接。

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

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

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

试试Arrays.deepToString方法。

对象的“深层内容”的字符串表示形式 数组中。如果数组包含其他数组作为元素,则字符串 表示法包含它们的内容,等等。这个方法是 用于将多维数组转换为字符串

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

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