在Java语法中,类<?扩展了一些东西>
Class<? extends Something>
这是我的解释,这是类模板,但类?表示类的名称未确定,并且它扩展了 Something 类。
如果我的解释有问题,请告诉我。
Class<? extends Something>
这是我的解释,这是类模板,但类?表示类的名称未确定,并且它扩展了 Something 类。
如果我的解释有问题,请告诉我。
这里有一些令人困惑的答案,所以我会尝试解决这个问题。您可以这样定义一个泛型:
public class Foo<T> {
private T t;
public void setValue(T t) {
this.t = t;
}
public T getValue() {
return t;
}
}
如果您希望 Foo 上的泛型始终扩展类 Bar,则可以将其声明为:
public class Foo<T extends Bar> {
private T t;
public void setValue(T t) {
this.t = t;
}
public T getValue() {
return t;
}
}
在声明变量时使用 。?
Foo<? extends Bar>foo = getFoo();
或
DoSomething(List<? extends Bar> listOfBarObjects) {
//internals
}
你几乎是对的。基本上,Java没有模板的概念(C++有)。这称为泛型。这定义了一个泛型类,其中泛型的属性是 的任何子类。Class<>
Something