ClassCastException, пишущий плагин Gephi

Я пытаюсь написать плагин для Gephi и получить следующее сообщение об ошибке:

java.lang.ClassCastException: org.gephi.graph.impl.GraphStore$NodeIterableWrapper cannot be cast to org.gephi.graph.api.Node at org.............execute(.....java:92)

Код, в котором произошла ошибка:

Node[] nodes = graph.getNodes().toArray();
for (Node n: nodes){
    .....
    List<Node> neighborNodes = new LinkedList<Node>();
    for(Node m: nodes){
        NodeIterable iter = graph.getNeighbors(m);
        neighborNodes.add((Node) iter);

Последняя строка вызывает ошибку. Это возможно через NodeIterable вставить соседей как узлы в списке neighborNodes без этого актерского состава? Я новичок в написании плагинов Java.

1 ответ

Согласно этому javadoc, NodeIterable является Iterable из Node s.

Так что вы, вероятно, должны использовать цикл:

NodeIterable iter = graph.getNeighbors(m);
for (Node n: iter) {
    neighborNodes.add(n);
}

или же addAll а также toCollection:

NodeIterable iter = graph.getNeighbors(m);
neighborNodes.addAll(iter.toCollection());
Другие вопросы по тегам