Java 我能从这个GraphTraversal中得到一个顶点而不是一个元素吗?

Java 我能从这个GraphTraversal中得到一个顶点而不是一个元素吗?,java,tinkerpop,tinkerpop3,Java,Tinkerpop,Tinkerpop3,我使用的是对TinkerGraph实现的引用 我正在尝试.next()a顶点执行此遍历: graph.V().has(T.label, "link").has("url", url).next(); 不幸的是,我只能从next()获取元素。当我将next()的输出分配到顶点时,我得到: 错误:不兼容的类型:元素无法转换为顶点 如何获取顶点 我已经查看并看到V()返回GraphTraversal。has()步骤被签名为defaultgraphtraversal,我认为这会保留GraphTrave

我使用的是对TinkerGraph实现的引用

我正在尝试
.next()
a
顶点
执行此遍历:

graph.V().has(T.label, "link").has("url", url).next();
不幸的是,我只能从
next()
获取
元素。当我将
next()
的输出分配到
顶点时,我得到:

错误:不兼容的类型:元素无法转换为顶点

如何获取
顶点

我已经查看并看到
V()
返回
GraphTraversal
has()
步骤被签名为
defaultgraphtraversal
,我认为这会保留
GraphTraversal
,但是
next()
只生成
元素。不知道下一步该怎么办


谢谢。

好吧-您可以随时这样做:

Vertex v = g.V().has(T.label, "link").<Vertex>has("name", url).next();
Vertex v=g.v().has(T.label,“link”).has(“name”,url).next();

只需显式键入最后一步。

即使上述方法有效,我也不认为有必要这样做,我会进一步检查。Stephen,谢谢,我发现了一个类似的版本。Java新手,这一定是我如此困惑的原因之一。但是,我仍然不明白为什么编译器需要额外的位。如果拆下链并将每个步骤指定给一个变量,则它始终是
Vertex
。不知道编译器为什么引入
元素