Почему StringUtils.join не может принять StringCharacterIterator? - PullRequest
0 голосов
/ 16 февраля 2011

Следующий код должен работать, поскольку join принимает итератор в качестве аргумента:

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

…

join(new StringCharacterIterator("A String"), " ");

Увы, это не так.Может кто-нибудь объяснить мне, почему?

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Согласно документации, StringCharacterIterator наследуется от CharacterIterator и только от него.CharacterIterator не наследуется от универсального Iterator, чего и хочет join.

http://download.oracle.com/javase/1.4.2/docs/api/java/text/CharacterIterator.html

0 голосов
/ 16 февраля 2011

Прежде всего, метод соединения принимает два аргумента: итератор и строку-разделитель или символ.

И если вы посмотрите на Javadoc StringCharacterIterator , вы увидитеэтот класс не реализует java.util.Iterator.

...