Почему StringUtils не может.join принимает StringCharacterIterator?
-
14-11-2019 - |
Вопрос
Следующий код должен работать, поскольку join
принимает итератор в качестве аргумента:
import static org.apache.commons.lang.StringUtils.join;
import java.text.StringCharacterIterator;
…
join(new StringCharacterIterator("A String"), " ");
Увы, это не так.Кто-нибудь может объяснить мне, почему?
Решение
Согласно документации, StringCharacterIterator
наследует от и только от CharacterIterator
.A CharacterIterator
не наследуется от общего Iterator
, что и есть то , что join
хочет.
http://download.oracle.com/javase/1.4.2/docs/api/java/text/CharacterIterator.html
Другие советы
Прежде всего, метод join принимает два аргумента :итератор и разделитель string или char.
И если вы посмотрите на javadoc из StringCharacterIterator, вы увидите, что этот класс не реализует java.util.Iterator
.
Не связан с StackOverflow