概述
一种选择是使用Guava:
ImmutableList chars = Lists.charactersOf(someString);
UnmodifiableListIterator iter = chars.listIterator();
这将生成一个由给定字符串支持的不可变字符列表(不涉及复制).
但是,如果您最终自己完成此操作,我建议不要像其他一些示例那样公开Iterator的实现类.我建议改为创建自己的实用程序类并公开静态工厂方法:
public static Iterator stringIterator(final String string) {
// Ensure the error is found as soon as possible.
if (string == null)
throw new NullPointerException();
return new Iterator() {
private int index = 0;
public boolean hasNext() {
return index < string.length();
}
public Character next() {
/*
* Throw NoSuchElementException as defined by the Iterator contract,
* not IndexOutOfBoundsException.
*/
if (!hasNext())
throw new NoSuchElementException();
return string.charAt(index++);
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
最后
以上就是背后小鸽子为你收集整理的java string iterator_Java:如何从String获取Iterator的全部内容,希望文章能够帮你解决java string iterator_Java:如何从String获取Iterator所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复