相关疑难解决方法(0)

使用通用通配符代替接口

如果你想存储一个类型的对象数组,MyInterface以下两者都是可以接受的,如果是这样的话你何时会使用第二个形式而不是第一个?

i)仅使用接口: -

List<MyInterface> mylist = new ArrayList<MyInterface>();
Run Code Online (Sandbox Code Playgroud)

ii)使用通用通配符: -

List<? extends MyInterface> mylist = new ArrayList<? extends MyInterface>();
Run Code Online (Sandbox Code Playgroud)

编辑:

至于到目前为止的答案已经指出,第二号将无法编译.我和案例iii有什么区别:

iii)仅在参考文献中使用通用通配符: -

List<? extends MyInterface> mylist = new ArrayList<MyInterface>();
Run Code Online (Sandbox Code Playgroud)

java generics interface wildcard

12
推荐指数
3
解决办法
7199
查看次数

标签 统计

generics ×1

interface ×1

java ×1

wildcard ×1