estoy tentado de hacer este tipo de código, usando JGraphTEn Java, ¿hay una forma de especificar que un argumento implementa dos interfaces
/*
interface DirectedGraph<V,E> { ...}
interface WeightedGraph<V,E> { ...}
*/
public class SteinerTreeCalc {
public SteinerTreeCalc(< ??? implements DirectedGraph<V,E>, WeightedGraph<V,E> > graph) {
......
}
}
Quiero crear un constructor que pida un objeto que implementa dos interfaces.
Actualización: clases
En mi objetivo, que ya son elegidos por vértices y aristas (V y E), pero muchas gracias a las personas que vienen con:
public class SteinerTreeCalc <V, E, T extends DirectedGraph<V, E> & WeightedGraph<V, E>>
{
....
}
Supongo que tiene una buena razón para no nombrar la interfaz que es tanto un 'DirectedGraph' como un' WeightedGraph', de modo que puede obtener todos los bits del contrato que el usuario del 'SteinerTreeCalc' necesita soporte en un solo lugar? –
¡Una buena! JgraphT no proporciona dicha interfaz que sea tanto DirectedGraph como WeightedGraph, y el usuario puede no querer utilizar mi interfaz/clases personalizadas. Realmente no entiendo por qué no proporcionaron esta interfaz. – jwinandy