如何将列表转换为字符串?

时间:2015-05-20 07:31:06

标签: java string list

我有字符串列表

List<String> lst;

我需要将该列表转换为字符串,如下所示:

List<String> lst = new ArrayList<String>();
lst.add("String 1");
lst.add("String 2");
lst.add("String 3");

我想要的字符串是:

"String 1 + String 2 + String 3"

如果

List<String> lst = new ArrayList<String>();
lst.add("String 1");

然后我只想要String 1

如果lst.isEmpty(),那么我想要""

是否可以灵活地执行此操作并避免编写多个if-else if

UPD :我在Java 7

2 个答案:

答案 0 :(得分:2)

假设您只想使用本机Java(并且不想使用像Apache这样的第三方库),并且希望使用1.7,我真的没有看到绕过简单for循环的方法条件简单。

我不确定这是&#34;多个if-else-if,但这看起来相当简单:

List<String> lst = new ArrayList<String>();
lst.add("String 1");
lst.add("String 2");
lst.add("String 3");

StringBuilder output = new StringBuilder();
int size = lst.size();
for (int i = 0; i < size; i++) {
    output.append(lst.get(i));
    if (i < size - 1)
        output.append(" + ");
}

System.out.println(output.toString());

希望这有帮助。

答案 1 :(得分:2)

会吗?

public static void main(String[] args) {

    ArrayList<String> list = new ArrayList<String>();
    list.add("String 1");
    list.add("String 2");
    list.add("String 3");

    StringBuilder convert = new StringBuilder();
    convert.append(list.isEmpty() ? "" : list.get(0));

    for(int i = 1 ; i < list.size() ; i ++ ) {
        convert.append(" + ").append(list.get(i)));
    }

    System.out.println(convert.toString());
}