为什么StringUtils.join不能接受StringCharacterIterator?

时间:2011-02-16 13:00:23

标签: java iterator apache-commons apache-stringutils

以下代码应该可以工作,因为join接受迭代器作为参数:

import static org.apache.commons.lang.StringUtils.join;
import java.text.StringCharacterIterator;

…

join(new StringCharacterIterator("A String"), " ");
唉,事实并非如此。有人可以向我解释原因吗?

2 个答案:

答案 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