相关疑难解决方法(0)

什么是PECS(制作人扩展消费者超级)?

我在阅读泛型时遇到了PECS(制片extends人和消费者的super简称).

能否给我一个人解释如何使用佩奇之间解决困惑extendssuper

java generics super pecs bounded-wildcard

680
推荐指数
11
解决办法
9万
查看次数

协方差,不变性和逆变性用简单的英语解释?

今天,我在Java中阅读了一些关于Covariance,Contravariance(和Invariance)的文章.我阅读了英文和德文维基百科的文章,以及IBM的一些其他博客文章和文章.

但我对这些究竟是什么有点困惑?有人说,它是关于类型和子类型之间的关系,也有人说,它是关于类型转换和一些说,它是用来决定一个方法是否重载或超载.

所以我正在用简单的英语寻找一个简单的解释,它向初学者展示了Covariance和Contravariance(和Invariance).加上一点简单的例子.

java covariance contravariance

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

如何在Java泛型中使用逆变?

在Java中,协方差允许API设计者指定实例可以被概括为某种类型或任何该类型的子类型.例如:

List<? extends Shape> shapes = new ArrayList<Circle>(); 
// where type Circle extends Shape
Run Code Online (Sandbox Code Playgroud)

反方差则是另一种方式.它允许我们指定实例可以概括为某种类型或超类型.

List<? super Shape> shapes = new ArrayList<Geometry>();
// where Shape extends Geometry
Run Code Online (Sandbox Code Playgroud)

Java泛型的逆变是如何有用的?你什么时候选择使用它?

java generics contravariance

25
推荐指数
3
解决办法
6137
查看次数