最近在看 dom4j 教程, 照敲课程中代码时发现一个报错
代码行:
List<Element> servletNodes = document.selectNodes("/web-app/servlet");
报错:
Type mismatch: cannot convert from List<Node> to List<Element>
对比环境之后发现, 教材所用 dom4j 的版本是 1.6.1 , 而自己实际操作时使用的版本是 2.1.1
解决办法:
来源 - 网络搜索
import java.util.stream.Collectors;
...
List<Element> servletNodes = document.selectNodes("/web-app/servlet").stream().map(node->(Element)node).collect(Collectors.toList());
更稳妥的写法
import java.util.stream.Collectors;
...
List<Element> servletNodes = document.selectNodes("/web-app/servlet").stream().filter(node->node instanceof Element).map(node->(Element)node).collect(Collectors.toList());