java对象层次结构,并将对象传递给函数
我创建了一个树形图,如下所示:java对象层次结构,并将对象传递给函数,java,generics,object,Java,Generics,Object,我创建了一个树形图,如下所示: TreeMap<Integer, ArrayList<MyClass>> wrap = new TreeMap<Integer, ArrayList<MyClass>>(); ArrayList是一种集合类型…是吗?那么这为什么不起作用呢 在这种情况下,泛型不能像您想象的那样工作 您需要的是类似于: public foo (TreeMap<Integer, ? extends Collection<Sp
TreeMap<Integer, ArrayList<MyClass>> wrap = new TreeMap<Integer, ArrayList<MyClass>>();
ArrayList是一种集合类型…是吗?那么这为什么不起作用呢 在这种情况下,泛型不能像您想象的那样工作 您需要的是类似于:
public foo (TreeMap<Integer, ? extends Collection<Spot> > objects) {
this.field = objects;
}
publicfoo(树映射对象){
this.field=对象;
}
?
被称为通配符。它将允许您传入集合
,或扩展/实现集合
的任何内容
行?扩展集合
如下所示:
扩展集合的东西
The constructor foo(TreeMap<Integer,ArrayList<Spot>>) is undefined
public foo (TreeMap<Integer, ? extends Collection<Spot> > objects) {
this.field = objects;
}