字符串数组到字符串

时间:2013-08-02 19:21:33

标签: java type-conversion

我正在尝试使用任意长度的String []并将其打印到String,最好使用字段分隔符。现在我有:

String[] start = {"first", "second", "third"}; //[] to convert
String cC = "";
String finish = ""; // Final String
String cC1 = "";
{
    for (int i = 0; i < puts.length; i++) {
        cC = puts[i] + ", ";
        cC1 = (finish + cC);
        finish = cC1;
    }
}

但由于某种原因,它只返回“第二”值。如何正确连接值?

另外,我可以使用finish += cC来简化代码吗?感谢。

5 个答案:

答案 0 :(得分:5)

String[] start = {"first", "second", "third"};
String addedTogether = Arrays.toString(start);

System.out.println(addedTogether);
//prints [first, second, third]

答案 1 :(得分:1)

如果您想要附加到字符串,则应使用 + = e.g。

String[] start = {"first", "second", "third"};
String cc = "";
String separator = ",";

for (int i = 0; i < start.length; i++) {
    cc += start[i];
    //Not Add , if it is the last element.
    if(i!=start.length-1){
       cc+=separator;
    }
}

按照您的方式设置最后一个值。

答案 2 :(得分:0)

使用+ =运算符连接字符串是一个非常糟糕的主意。最好构造StringBuilder对象并将所有值附加到它。最后在StringBuilder对象上调用toString()。

查看此链接以了解与使用+运算符进行字符串连接相关的性能损失。
http://blog.eyallupu.com/2010/09/under-hood-of-java-strings.html
How Java do the string concatenation using "+"?

答案 3 :(得分:0)

String[] start = {"first", "second", "third"}; //[] to convert
String finish = ""; // Final String
{
    for (int i = 0; i < starts.length; i++) {
        finish = finish + start[i] + ", ";
    }
}

(如果你想出于某种原因手动完成所有这些......)

答案 4 :(得分:0)

结帐 - Java equivalents of C# String.Format() and String.Join()

它提供了一个string.join方法,以及一些有用的字符串实用程序方法的阅读。