1

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

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吗?谢谢。

4

5 回答 5

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

System.out.println(addedTogether);
//prints [first, second, third]
于 2013-08-02T19:25:40.107 回答
1

如果你想附加到一个字符串,你应该使用+= 例如

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;
    }
}

等等

以您的方式设置要完成的最后一个值。

于 2013-08-02T19:27:16.687 回答
0

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

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

于 2013-08-02T19:27:59.073 回答
0
String[] start = {"first", "second", "third"}; //[] to convert
String finish = ""; // Final String
{
    for (int i = 0; i < starts.length; i++) {
        finish = finish + start[i] + ", ";
    }
}

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

于 2013-08-02T19:28:22.853 回答
0

查看——C# String.Format() 和 String.Join() 的 Java 等效项

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

于 2013-08-02T19:36:16.373 回答