腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在没有可变
类型
的情况下,是否存在不变
类型
参数的情况?
java
、
generics
、
types
、
immutability
、
covariance
Java
数组不是完全
类型
安全的,因为它们是
协
变
的:ArrayStoreException可以发生在别名数组上。另一方面,
Java
在其
类型
参数中是不变的:例如,List<Thread>不是List<Runnable>的子
类型
(这可能有点违背直觉)。动机似乎是因为List和其他集合是可变的,因此为了保持
类型
系统的正常运行,它们的
类型
参数必须是不变的。 如果编程语言只支持不可变
类型
,那么
类型
浏览 4
提问于2020-03-26
得票数 2
回答已采纳
9
回答
为什么数组是
协
变
的,而泛型是不变的?
java
、
arrays
、
generics
、
language-design
、
covariance
来自Joshua Bloch的Effective,String[] is subtype of Object[]List将不是List的subType。我的问题是为什么要让数组在<em
浏览 361
提问于2013-09-07
得票数 181
回答已采纳
2
回答
为什么
协
变量
类型
参数仅用于成员的返回
类型
?
c#
、
generics
、
delegates
为什么
协
变
类型
参数(如IEnumerable<out T>
类型
T )只用于返回
类型
(只读)或逆反变型参数(如Action<in T>
类型
T )仅用作参数
类型
(只写)?换句话说,我认为纯
协
变
概念与仅用于成员返回
类型
的c#
协
变
类型
参数之间存在着一种关系。
浏览 3
提问于2018-06-12
得票数 2
回答已采纳
1
回答
Java
8支持多重继承吗?
java
我在阅读
Java
8中的接口时遇到了这个主题,在某些情况下,我们使用default或static关键字在接口中定义方法,允许下一个子节点重新定义相同的方法或实现它。这是否意味着多重继承?还有一个我发现的问题是,返回
类型
必须是
协
变
类型
,否则编译问题,这意味着它仍然不支持多重继承?我们可以说
java
支持多重继承吗?让我知道更多关于这个话题的细节。
浏览 1
提问于2016-04-29
得票数 11
回答已采纳
2
回答
对于" Box [+T]",我可以说“
类型
框是
协
变
的”吗?
scala
、
covariance
、
type-systems
假设我定义了一个
类型
构造函数Box什么是正确的?
类型
Box是
协
变
的 如果它们都是不正确的,那么正确的表达式是什么?
浏览 0
提问于2014-06-16
得票数 5
4
回答
论点
类型
不是对位变体吗?
java
、
scala
在coursera的“Scala中的函数编程”课程中,Martin Ordersky提到: 例如,在
Java
中,让Dog扩展Animal。根据的说法,协方差是“由宽
变
窄”。在上面,我们从狗变成动物。所以,论点
类型
不是
协
变
的,而不是反
变
的吗?
浏览 5
提问于2012-11-10
得票数 18
回答已采纳
9
回答
什么是
协
变
返回
类型
?
java
、
oop
、
covariance
Java
中的
协
变
返回
类型
是什么?在面向对象的编程中?
浏览 0
提问于2009-12-11
得票数 113
回答已采纳
1
回答
Kotlin,Android --如何将MutableLiveData<MutableList< >>转换为LiveData<List< Kotlin >>
android
、
list
、
kotlin
、
android-livedata
、
mutablelist
MutableLiveData<MutableList<Task>>(mutableListOf())} (但我得到了错误
类型
错配
浏览 6
提问于2021-04-09
得票数 1
回答已采纳
3
回答
C#中的方差规则
c#
、
types
、
covariance
、
contravariance
、
variance
例如,泛型
类型
T<out D>在D上是
协
变
的(因此是有效的),因此我们可以说
类型
参数D是
协
变量有效的。我说的对吗? 4)构造的类、结构、枚举、接口或委托
类型
X可能是共同有效的。我们讨论的是泛型
类型
对其所有输入/输出/不变
类型
参数的方差吗?根据定义,泛型
类型
可以是一次在一种
类型
参数上的
协
变
/反
变
/不变量。在这种情
浏览 7
提问于2013-04-26
得票数 10
回答已采纳
2
回答
为什么在
Java
泛型中必须使用通配符?
java
、
generics
、
wildcard
如果我没弄错的话,
Java
通配符的唯一目的就是在泛型
类型
之间引入
协
变
和逆
变
。我认为
Java
通配符是实现这两个概念的一个编译器技巧。我说的对吗?或者还有更多的原因?
浏览 0
提问于2014-07-07
得票数 1
1
回答
在Scala中使用协方差表示或泛型界时
scala
、
bounds
、
variance
、
type-bounds
在Scala中,方差可以用泛型
类型
参数上的+和-之类的方差运算符来定义。例如,List
类型
在标准库中是
协
变
的。class List[+A]def foo[A](list : List[A])def foo[A](list : List[_:< A]) 当然,这是没有意义的,因为list已经是
协
变
的。但是,对于不
协
变
浏览 0
提问于2010-09-08
得票数 11
回答已采纳
2
回答
Scala:为什么PECS原则不适用于Function1?
scala
在Effective
Java
中,Joshua Bloch讨论了PECS (生产者-扩展,消费者-超级)的原理。我对此的理解是,为了增加API的灵活性,输入(产生的集合)应该是
协
变
的,而输出(消费的集合)应该是逆
变
的。super Integer> output)trait Function1[-T1, +R] extends AnyRef T1 (输入
类型
)是逆
变
的,而R(输出
类型
)是
协
浏览 1
提问于2012-06-30
得票数 3
回答已采纳
1
回答
为什么新列表= List<List<Integer>> ArrayList<ArrayList<Integer>>();是错误的?
java
、
list
、
arraylist
为什么下面的代码在
Java
中是错误的?
浏览 0
提问于2015-03-26
得票数 5
3
回答
使用
协
变量
类型
的私有可变集合
scala
、
covariant
我有一个
协
变
Scala
类型
的Thing[+B]。所以我不能在我的
协
变
类型
Thing中使用它。(使用强制转换的解决方案是在enqueue/dequeue上声明AsyncQueue[Object]和cast对象,这非常难看。)ETA:我理解
类
浏览 7
提问于2014-05-17
得票数 3
回答已采纳
7
回答
同
类型
自变量上的协方差和反方差
c#
、
covariance
、
contravariance
、
variance
C#规范指出,参数
类型
不能同时是
协
变量和反变体。编辑: 我的理解是数组实际上是
协
变
的和反<
浏览 4
提问于2010-12-24
得票数 12
回答已采纳
3
回答
C#泛型
类型
的助记符
c#
、
generics
、
covariance
、
contravariance
、
mnemonics
我经常忘记在定义
协
变
和逆
变
泛型
类型
时是否必须使用或。在
java
中,我有助记符PECS (生产者扩展消费者超级)来帮助我。你知道类似于c#的助记符吗?
浏览 2
提问于2010-08-28
得票数 3
1
回答
有没有办法创建一个既有Add方法又有
协
变
类型
参数的集合?
c#
、
generics
、
collections
、
ienumerable
我需要一个具有Add方法和协
变
类型
参数的集合。T的IEnumerable覆盖
协
变
类型
参数但是它没有Add方法。T的IList没有
协
变
类型
参数,但具有Add方法。 有没有人知道可以涵盖这一点的集合,或者如何制作?
浏览 1
提问于2013-03-15
得票数 1
2
回答
什么是
协
变
函子?
haskell
我想要理解,为什么Maybe
类型
是一个
协
变
函子?请举例说明。
浏览 0
提问于2019-03-19
得票数 8
回答已采纳
1
回答
不可能有一个
协
变
接口包含一个泛型
类型
,其
类型
参数是
协
变量
类型
吗?
c#
、
generics
、
covariance
我有一个不相关的
协
变
接口和泛型类。我希望
协
变量接口具有一个属性,它是
协
变量
类型
上的泛型类的实例,如下所示。IFoo<out T> Bar<T> barobj { get; set; }{不幸的是我搞错了 这是否意味着不可能拥有使用
协
变量
类型
作为参数的泛型<
浏览 3
提问于2021-04-09
得票数 0
1
回答
如何理解`?扩展T‘是不变的吗?
java
我读过一些关于泛型
协
变
的文章,并且学习了关于
协
变
和反变体的共同知识,描述了
类型
转换如何影响子
类型
关系。也就是说,如果A和B是
类型
,f是
类型
转换,≤是子
类型
关系(即A≤B表示A是B的一个子
类型
),我们有 f是
协
变
的,如果A≤B表示f(A)≤f(B)f是逆
变
的,如果A≤B表示f(B)≤f(A)f是不变的,则上述两种方法都不保持extends T是
协
<
浏览 3
提问于2021-03-26
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C#的未来:协变返回类型
Java数据类型及类型转换
浅谈Java枚举类型
Java数据类型
Java基础(1)-Java数据类型
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券