这里没有问题
public class MyList<E extends Number> extends ArrayList<E> {
}
.
无异常(exception)的约束。这是什么意思?为什么错了?感谢您的帮助。
public class MyList<E extends Number> extends ArrayList<E extends Number> {
}
最佳答案
class MyList<E extends Number>
可以,因为您声明 一个类型参数,所以您必须给它一个名称 ( E
),并且您可以选择将其声明为有界的 ( extends Number
)。
在extends ArrayList<E>
相反,您只需要“使用”一个类型参数:使用“<E>
”,您指的是在您的类中声明的参数,其声明中已经给出了一个绑定(bind)。 “<? extends Number>
”(用 ?
代替 E
)也将被编译器接受(尽管这不是您想要的)。相反,“<E extends Number>
”被视为类型参数声明,因此它是一个编译错误。
关于Java 泛型 - 意外边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553212/