Tag: 反变换

为什么没有关于Haskell(与Scala或C#相对)的协变和反变化的讨论?

我知道什么types的协变和逆变。 我的问题是为什么我在研究Haskell(而不是Scala)时还没有遇到这些概念的讨论? Haskell的视图types与Scala或C#相比有一个根本的区别,我想说明一下这个区别是什么。 或者,也许我错了,我只是没有足够的Haskell学习:-)

generics:列表<? 扩展Animal>与List <Animal>相同?

我只是想了解Javagenerics中的extends关键字。 List<? extends Animal> List<? extends Animal>意味着我们可以填充List任何对象是 Animal 那么下面也不会有同样的意思: List<Animal> 有人能帮我了解上述两者之间的区别吗? 对我来说这只是声音冗余而已。 谢谢!