相关疑难解决方法(0)

<?>和<?之间有什么区别?在Java Generics中扩展Object>?

我已经看到之前使用的通配符表示任何对象 - 但最近看到使用:

<? extends Object>
Run Code Online (Sandbox Code Playgroud)

由于所有对象都扩展了Object,这两个用法是同义词吗?

java generics syntax

88
推荐指数
3
解决办法
4万
查看次数

有界通配符和类型参数之间有什么区别?

两者之间有区别吗?

<N extends Number> Collection<N> getThatCollection(Class<N> type)
Run Code Online (Sandbox Code Playgroud)

Collection<? extends Number> getThatCollection(Class<? extends Number>)
Run Code Online (Sandbox Code Playgroud)

java generics type-parameter bounded-wildcard

37
推荐指数
1
解决办法
5142
查看次数

枚举之间的区别<?扩展ZipEntry>和Enumeration <ZipEntry>?

Enumeration <?之间有区别吗?扩展ZipEntry>和Enumeration <ZipEntry>?如果是这样,有什么区别?

java generics

10
推荐指数
1
解决办法
2164
查看次数

10
推荐指数
3
解决办法
1万
查看次数

ArrayList(Collection <?extends E> c)

我知道为了创建ArrayList类型的对象,我需要:

ArrayList<MyType> l = new ArrayList<MyType>();
Run Code Online (Sandbox Code Playgroud)

我知道,因为我在书中看到了这一点.

但是看看ArrayList构造函数的Java SE API,我看到: ArrayList(Collection<? extends E> c)

我不明白,我怎么会想到指定我的新ArrayList对象将包含的对象类型?我如何从这个定义中知道我必须<MyType>在实例化和变量声明期间指定?

java api

5
推荐指数
1
解决办法
9419
查看次数

使用<?有什么区别?在Java泛型中扩展SomeAbstract>与SomeAbstract

我正在从DotNet转向java,这种扩展的想法是新的.

我已经看到一些帖子完全解释了使用List<? extends SomeAbstract>vs. List<? super SomeAbstract>vs. List<SomeAbstract>,但我猜测在泛型中使用和不使用扩展之间没有区别.

真的吗?如果使用抽象类作为父级,答案会改变吗?

class My_AbstractExtends<T extends SomeAbstract>
Run Code Online (Sandbox Code Playgroud)

class My_Abstract<SomeAbstract>
Run Code Online (Sandbox Code Playgroud)

编辑

按如下方式创建子类

class My_ChildExtends extends My_AbstractExtends<ConcreteChildOfSomeAbstract>
Run Code Online (Sandbox Code Playgroud)

class My_Child extends My_Abstract<ConcreteChildOfSomeAbstract>
Run Code Online (Sandbox Code Playgroud)

java generics extends programming-languages abstract

4
推荐指数
1
解决办法
580
查看次数