2011-09-24 13 views
0

我是新的Java並且正在使用jGraphT創建一個SimpleDirectedWeightedGraph。努力創建,並將它們添加到圖形後設置在我邊的權重時,我得到這個錯誤:JGraphT不能轉換爲org.jgrapht.graph.DefaultWeightedEdge

Exception in thread "main" java.lang.ClassCastException: ObservationsDAG$ObservationsDAGEdge cannot be cast to org.jgrapht.graph.DefaultWeightedEdge 
at org.jgrapht.graph.AbstractBaseGraph.setEdgeWeight(Unknown Source) 

我假設我需要做的東西在我的ObservationsDAGEdge類在這裏,但看JGraphT docs,我堅持這是什麼。我的邊界類是否需要重量實例變量,並且是否需要提供getEdgeWeight()和setEdgeWeight()?

回答

0

所以,我明白了這一點。我第一次嘗試擴展DefaultDirectedEdge,但隨後getEdgeTarget()停止工作 - 可能是因爲我需要實現開始/結束頂點。

在閱讀代碼後,我嘗試繼承SimpleDirectedWeightedGraph並覆蓋setEdgeWeight和getEdgeWeight,併爲我的邊類提供了一個權重實例變量。

這最後工作作爲性別。

相關問題