我需要将一个ArrayList的数据分配给一个String变量。
使用以下代码我得到tempSeats
等于jack, ravi, mike,
ArrayList<String> userSelectedSeats = new ArrayList<String>();
userSelectedSeats.add("jack");
userSelectedSeats.add("ravi");
userSelectedSeats.add("mike");
for (String s : userSelectedSeats) {
tempSeats += s + ", ";
}
但输出应该是jack, ravi, mike
我应该对我的代码进行哪些修改?
答案 0 :(得分:3)
让Java的流为您做繁重的工作:
String tempSeats = userSelectedSeats.stream().collect(Collectors.joining(", "));
答案 1 :(得分:1)
您在每个项目结束后添加逗号,甚至是最后一项。如果项目不是列表中的 last 项目,您只想添加逗号。这称为加入。
如果您使用的是Java 8,则可以执行
userSelectedSeats.stream().collect(Collectors.joining(", "))
否则请参阅this question了解更多信息。
答案 2 :(得分:1)
一个简单的String.join
将完成手头的任务。
String result = String.join(", ", userSelectedSeats);
答案 3 :(得分:0)
String c;
ArrayList<String> userSelectedSeats = new ArrayList<String>();
userSelectedSeats.add("jack");
userSelectedSeats.add("ravi");
userSelectedSeats.add("mike");
for (int i=0; i < userSelectSeats.length(); i++)
c += userSelectSeats.get(i).toString()+ ",";
答案 4 :(得分:0)
用这个替换for循环,
tempSeats = TextUtils.join(", ",userSelectedSeats);
希望它有所帮助!