gpt4 book ai didi

java - 无法从 XPathExpression 转换为 XPathExpression
转载 作者:行者123 更新时间:2023-11-29 05:14:53 27 4
gpt4 key购买 nike

我正在尝试编写一种方法来执行 JDOM2 XPath。我希望能够传入任何类型的过滤器(例如 Filter<Content>Filter<Element> 。我正在传入一个 Element。Element 是一个扩展 Content 过滤器的接口(interface)。编译器警告

“XMLUtilities 类型中的方法 executeXPath(Document, String, String, Filter<Content> ) 不适用于参数 (Document, String, String, Filter<Element>)

有没有一种方法可以做到这一点而不必为每种内容类型创建一个单独的方法?

Filter<Element> filter = new org.jdom2.filter.ElementFilter();
List<Element> xPathSearchedNodes = XMLUtilities.executeXPath(doc, "/x:root","http://www.example.com",filter);

....

static public List<Content> executeXPath(Document document, String xpathStr, String namespace, Filter<Content> filter) {...}

最佳答案

您可以使您的方法通用:

static public <T extends Content> List<T> executeXPath(Document document, String xpathStr, String namespace, Filter<T> filter) {...}

如果你传递一个 Filter<Content>它返回 List<Content> ,如果你传递一个 Filter<Element>它会返回 List<Element>

关于java - 无法从 XPathExpression<Object> 转换为 XPathExpression<Content>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952990/

27 4 0