我有字符串列表
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
答案 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());
}