获取边缘集

时间:2015-05-31 10:05:28

标签: java graph

我似乎对使用/理解集有问题。在JGraphT中有一个函数edgeSet()。我想将所有边存储在数组中,所以我这样做了:

DefaultWeightedEdge edgesContained[]= (DefaultWeightedEdge[]) Graph.edgeSet().toArray(); //compiler returns this line as one with error
    for ( int i=0; i<=numberOfEdges; i++) {
    setRandomWeight(edgesContained[i], randomWeight());
    }

但我得到的输出是

线程中的异常&#34; main&#34; java.lang.ClassCastException:[Ljava.lang.Object;无法投射到[Lorg.jgrapht.graph.DefaultWeightedEdge;

为什么这样,它应该如何正确?

1 个答案:

答案 0 :(得分:1)

Graph.edgeSet().toArray()将返回Object[],无法转换为DefaultWeightedEdge[]。而是使用Graph.edgeSet().toArray(new DefaultWeightedEdge[0])