我很想用jGraphT做这样的代码
/*
interface DirectedGraph<V,E> { ...}
interface WeightedGraph<V,E> { ...}
*/
public class SteinerTreeCalc {
public SteinerTreeCalc( < ??? implements DirectedGraph<V,E>, WeightedGraph<V,E> > graph ) {
......
}
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个构造函数,要求实现两个接口的对象.
更新:
在我的目标中,已经为Vertex和Edges(V和E)选择了类,但非常感谢那些想出的人:
public class SteinerTreeCalc <V, E, T extends DirectedGraph<V, E> & WeightedGraph<V, E>>
{
....
}
Run Code Online (Sandbox Code Playgroud)
amo*_*fis 21
是的,这是可能的:
public class SteinerTreeCalc<T extends DirectedGraph<V,E> & WeightedGraph<V,E>> {
public SteinerTreeCalc(T graph) {
......
}
}
Run Code Online (Sandbox Code Playgroud)
应该这样工作,但这是更复杂的泛型逻辑,希望你能适应:
public static interface DirectedGraph<V, E> {
}
public static interface WeightedGraph<V, E> {
}
public <V, E, T extends DirectedGraph<V, E> & WeightedGraph<V, E>> SteinerTreeCalc(T bothInterfaces) {
// do it
}
Run Code Online (Sandbox Code Playgroud)
这些是你问题中提到的接口和构造函数.
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |