has*_*nce 1 java generics arraylist bounds
这里没问题
public class MyList<E extends Number> extends ArrayList<E> {
}
Run Code Online (Sandbox Code Playgroud)
.
未接受的绑定.这是什么意思?为什么这是错的?感谢帮助.
public class MyList<E extends Number> extends ArrayList<E extends Number> {
}
Run Code Online (Sandbox Code Playgroud)
class MyList<E extends Number>是的,因为你声明了一个类型参数,所以你必须给它一个名字(E),你可以选择将它声明为有界(extends Number).
在extends ArrayList<E>相反,你只需要"使用"类型参数:带" <E>"你指的是你的类中声明的参数,其绑定中已经在其声明中提到." <? extends Number>"(以?代替E)也将被编译器接受(尽管这是不是你想要的).相反," <E extends Number>"被视为类型参数声明,因此它是编译错误.
| 归档时间: |
|
| 查看次数: |
2569 次 |
| 最近记录: |