我想得到一串逗号分隔的值,已排序。 如果为此目的使用TreeSet,然后使用
Joiner.on(',').join(someSortedSet);
我会将字符串值排序吗?
答案 0 :(得分:6)
答案是肯定的。 javadoc for this method(实际上总共有4个重载)表明它需要Iterable
作为参数;和SortedSet
实施Iterable
(通过Set
,通过Collection
)。
关于它是否将被排序,事实是SortedSet
迭代使用它们的自然顺序排序的值,并且Iterable
是“没有别的”而不是迭代器。
如果未对值进行排序,您仍可以对它们进行排序:
Joiner.on(',').join(Ordering.natural().sortedCopy(whatever));
番石榴是一个金矿!
[编辑:修复链接]
答案 1 :(得分:0)
是的,你会的。
如果someSortedSet
迭代关于您想要的订单的数据,那么join
将按正确的顺序创建字符串。