当前位置: 代码迷 >> 综合 >> Java Cannot cast from ListNode to ListElement 问题处理
  详细解决方案

Java Cannot cast from ListNode to ListElement 问题处理

热度:39   发布时间:2024-01-16 01:36:04.0

 

最近在看 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());