Вопрос

Следующий код должен работать, поскольку 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top