Я использовал JUNG для создания большого графика. Я хочу найти определенное направленное ребро между каждыми двумя узлами и установить вес ребра в качестве определенного параметра. Проблема заключается в методе findEdge, и ребра, которые экспортируются из созданного графа, не совпадают (одинаковое значение, но не один и тот же объект). Эта проблема может привести к исключению нулевого указателя! Могу ли я в любом случае изменить его на то, что он является одним и тем же объектом?! Вот мой код:
private void findNeighbors(Customer customer,
DirectedSparseGraph<Customer, Transaction> network) {
Collection<Customer> neighbors=network.getNeighbors(customer);
if(neighbors!=null){
for(Customer neighbor:neighbors){
Transaction edge=network.findEdge(customer, neighbor);
neighbor.setChurnProb(edge.getWeight());
churnedNet.add(neighbor);
}
}
}
В этом случае объект края имеет значение null, которого не должно быть. С уважением.