1
我正在使用JUNG2庫,以便可以看到我創建的神經網絡系統。Java代碼的等效Scala代碼不起作用(方法簽名無效)
首先,我是繼從JUNG2代碼示例,我使用下面的Java代碼:
DirectedSparseMultigraph<Integer, Integer> graph = new DirectedSparseMultigraph<Integer, Integer>();
DelegateForest<Integer, Integer> delf = new DelegateForest<Integer, Integer>();
Factory<Tree<Integer, Integer>> delt = DelegateTree.<Integer, Integer>getFactory();
Transformer<Integer, Double> trans = new Transformer<Integer, Double>() {
@Override
public Double transform(Integer arg0) {
return 1.0;
}
};
MinimumSpanningForest2<Integer, Integer> prim = new MinimumSpanningForest2<Integer, Integer>(graph, delf, delt, trans);
現在的等效代碼斯卡拉:
var graph = new DirectedSparseMultigraph[Int, Int]
var delf = new DelegateForest[Int, Int]()
var delt = DelegateTree.getFactory[Int, Int]()
var trans = new Transformer[Int, Double] {
def transform(input:Int):Double = {
return 1.0
}
}
var prim:MinimumSpanningForest2[Int, Int] = new MinimumSpanningForest2(graph, delf, delt, trans)
在斯卡拉例如MinimumSpanningForest2的實例化在Eclipse中給我一個很長的錯誤:
overloaded method constructor MinimumSpanningForest2 with alternatives:
(edu.uci.ics.jung.graph.Graph[V,E],edu.uci.ics.jung.graph.Forest[V,E],org.apache.commons.collections15.Factory[_ <:
edu.uci.ics.jung.graph.Graph[V,E]],org.apache.commons.collections15.Transformer[E,java.lang.Double])edu.uci.ics.jung.algorithms.shortestpath
.MinimumSpanningForest2[V,E] <and>
(edu.uci.ics.jung.graph.Graph[V,E],org.apache.commons.collections15.Factory[edu.uci.ics.jung.graph.Forest[V,E]],org.apache.commons.collecti
ons15.Factory[_ <:
edu.uci.ics.jung.graph.Graph[V,E]],org.apache.commons.collections15.Transformer[E,java.lang.Double])edu.uci.ics.jung.algorithms.shortestpath
.MinimumSpanningForest2[V,E] cannot be applied to (edu.uci.ics.jung.graph.DirectedSparseMultigraph[Int,Int],
edu.uci.ics.jung.graph.DelegateForest[Int,Int], org.apache.commons.collections15.Factory[edu.uci.ics.jung.graph.Tree[Int,Int]], java.lang.Object
with org.apache.commons.collections15.Transformer[Int,scala.Double])
我一直在尋找年齡,但無法看到問題。查看Collections和JUNG2的API文檔我很確定這種泛型是正確的。 JAVA例子工作完美無瑕。
Scala的double的正確的FQN是'scala.Double'。我會編輯這個,但是這個改變是在SO的編輯長度要求之下。 – Rhysyngsun 2012-08-02 20:26:49