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

发布于 2024-10-17 19:23:56 字数 261 浏览 7 评论 0原文

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

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

…

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

唉,事实并非如此。有人可以向我解释为什么吗?

The following code should work, since join accepts an iterator as argument:

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

…

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

Alas, it doesn’t. Can somebody explain to me why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不必了 2024-10-24 19:23:56

根据文档,StringCharacterIterator 继承自且仅继承于CharacterIteratorCharacterIterator 并不继承自通用 Iterator,而这正是 join 想要的。

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

According to the documentation, StringCharacterIterator inherits from and only from CharacterIterator. A CharacterIterator does not inherit from a generic Iterator, which is what join wants.

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

九八野马 2024-10-24 19:23:56

首先, join 方法有两个参数:一个迭代器和一个分隔符字符串或字符。

如果您查看 StringCharacterIterator 的 javadoc ,您将看到此类没有实现java.util.Iterator

First of all, the join method takes two arguments : an iterator and a separator string or char.

And if you look at the javadoc of StringCharacterIterator, you'll see that this class does not implement java.util.Iterator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文