我想知道,如果给了Joiner.join一个空的集合,它将如何表现呢:
Joiner.on(",").join(new ArrayList());
我想知道,这里的预期行为是什么。它会返回空字符串还是null?还是取决于库的平台和实现?
好吧,检查源:
public String join(Iterable<? extends Entry<?, ?>> entries) {
return join(entries.iterator());
}
下一个:
public String join(Iterator<? extends Entry<?, ?>> entries) {
return appendTo(new StringBuilder(), entries).toString();
}
最后(跳过一种方法):
public <A extends Appendable> A appendTo(A appendable, Iterator<? extends Entry<?, ?>> parts) throws IOException {
checkNotNull(appendable);
if (parts.hasNext()) {
...
}
return appendable;
}
如果您的集合为空,appendTo()
则将返回空StringBuilder
。因此,结果是空字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句