getEdge() 方法 returns 对我刚刚创建的边为 null
getEdge() method returns null for the edge I've just created
我想将我的代码 (mthing) 中的某些元素与图形的某些边关联起来,但是当我试图获取我刚刚创建的边时 - 我得到的是空值。我是否以错误的方式使用此方法?我是否总是必须使用方法 getEdgeSource()?不想传全图,只传一条边怎么办?
graph.addEdge(c2, c1);
System.out.println("added connection c2 c1" + graph.getEdge(c2, c1));
MovingThing mthing = new MovingThing(parent, graph.getEdge(c1, c2));
以防万一:我已经通过一些方法扩展了 DefaultEdge,并且扩展边 class 和上面的代码在同一个包中。我遍历所有边缘都没有问题。
addEdge() return 一个布尔值,因此您可以创建一个条件来检查是否已将边添加到您的图形中。所以,可能是这样的 -
if(graph.addEdge(c2, c1))
System.out.println("added connection c2 c1" + graph.getEdge(c2, c1));
如果您显示 类 图、c2 和 c1 是什么类型,可能会更好。
您可能正在使用有向图并正在创建从 c2 到 c1 的边,然后将不存在的边从 c1 传递到 c2,因此将 null 传递到您的 MovingThing 构造函数中
我想将我的代码 (mthing) 中的某些元素与图形的某些边关联起来,但是当我试图获取我刚刚创建的边时 - 我得到的是空值。我是否以错误的方式使用此方法?我是否总是必须使用方法 getEdgeSource()?不想传全图,只传一条边怎么办?
graph.addEdge(c2, c1);
System.out.println("added connection c2 c1" + graph.getEdge(c2, c1));
MovingThing mthing = new MovingThing(parent, graph.getEdge(c1, c2));
以防万一:我已经通过一些方法扩展了 DefaultEdge,并且扩展边 class 和上面的代码在同一个包中。我遍历所有边缘都没有问题。
addEdge() return 一个布尔值,因此您可以创建一个条件来检查是否已将边添加到您的图形中。所以,可能是这样的 -
if(graph.addEdge(c2, c1))
System.out.println("added connection c2 c1" + graph.getEdge(c2, c1));
如果您显示 类 图、c2 和 c1 是什么类型,可能会更好。
您可能正在使用有向图并正在创建从 c2 到 c1 的边,然后将不存在的边从 c1 传递到 c2,因此将 null 传递到您的 MovingThing 构造函数中