以下代码应该可以工作,因为join
接受迭代器作为参数:
import static org.apache.commons.lang.StringUtils.join;
import java.text.StringCharacterIterator;
…
join(new StringCharacterIterator("A String"), " ");
唉,事实并非如此。有人可以向我解释原因吗?
答案 0 :(得分:1)
根据文档,StringCharacterIterator
仅从CharacterIterator
继承而来。 CharacterIterator
不会从通用Iterator
继承,这是join
想要的。
http://download.oracle.com/javase/1.4.2/docs/api/java/text/CharacterIterator.html
答案 1 :(得分:0)
首先,join方法有两个参数:迭代器和分隔符字符串或char。
如果您查看javadoc of StringCharacterIterator,您会发现此类未实现java.util.Iterator
。