Java 为什么在编译时会出现类型不匹配
我将图形(使用JUNG的图形接口)声明为类变量,如下所示:Java 为什么在编译时会出现类型不匹配,java,types,polymorphism,jung,Java,Types,Polymorphism,Jung,我将图形(使用JUNG的图形接口)声明为类变量,如下所示: private Graph<Knoten, Kante> _graph; _graph = new DirectedSparseGraph<AttrKnoten, GewKante>(); private-Graph\u-Graph; 我尝试如下初始化它: private Graph<Knoten, Kante> _graph; _graph = new DirectedSparseGraph
private Graph<Knoten, Kante> _graph;
_graph = new DirectedSparseGraph<AttrKnoten, GewKante>();
private-Graph\u-Graph;
我尝试如下初始化它:
private Graph<Knoten, Kante> _graph;
_graph = new DirectedSparseGraph<AttrKnoten, GewKante>();
\u graph=new DirectedSparseGraph();
AttrKnoten扩展了Knoten,GewKante扩展了Kante(目前它们只是标记接口)。我在编译时收到以下错误消息:
"Type mismatch: cannot convert from DirectedSpareGraph<AttrKnoten, GewKante> to Graph<Knoten, Kante>"
“类型不匹配:无法从DirectedSpareGraph转换为图形”
为什么呢?除了在声明过程中省略参数之外,还有其他方法处理这个问题吗?泛型不能这样做 一个简单的例子:
List<CharSequence> list = new ArrayList<String>();
您仍然可以将attrnoten
和GewKante
对象添加到\u图形中
或者,如果您只需要AttrKonten
和GewKante
对象,只需将其声明为:
private Graph<AttrKnoten, GewKante> _graph;
private-Graph\u-Graph;
泛型不能这样做
一个简单的例子:
List<CharSequence> list = new ArrayList<String>();
您仍然可以将attrnoten
和GewKante
对象添加到\u图形中
或者,如果您只需要AttrKonten
和GewKante
对象,只需将其声明为:
private Graph<AttrKnoten, GewKante> _graph;
private-Graph\u-Graph;