下面这段代码使用的是Java 9的asIterator()
方法,有人能帮我转换下面的代码与Java 8兼容吗?
private static Function<ClassLoader, Stream<URL>> asURLs(String packageDir) {
return cl -> {
try {
Iterator<URL> iterator = cl.getResources(packageDir).asIterator();
return StreamSupport.stream(
Spliterators.spliteratorUnknownSize(iterator, Spliterator.ORDERED), false);
} catch (IOException e) {
throw new UnhandledIOException(e);
}
};
1条答案
按热度按时间but5z9lq1#
开始,在你最喜欢的搜索引擎中查找“jdk源代码”,找到
asIterator
的源代码,这样你就可以复制它了。你会在这里找到它:https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/Enumeration.java
在那里,您将找到
Enumeration.asIterator()
,这是一个接口默认方法。你可以在本地将它定义为一个接受Enumeration参数的方法:然后像这样使用它:
不过,@tevemadar评论时附带了一个相关问题的答案链接,可能更适合你