: A](elem: A1): Boolean Option 是协变的-6ren">
gpt4 book ai didi

scala - 为什么 "contains"上的 "Option"方法使用具有下限的第二种类型而不是 "Any"类型?

转载 作者:行者123 更新时间:2023-12-04 12:20:16 25 4
gpt4 key购买 nike

我正在查看 Scala 中的 Option 类,并遇到了 contains 方法:

final def contains[A1 >: A](elem: A1): Boolean

Option 是协变的,所以我知道它不能只使用 A 作为 elem 的类型。但是,鉴于从未使用过 A1 类型,为什么该方法不能是这样的:
final def contains(elem: Any): Boolean

这只是一种风格,还是我错过了一些重要的东西?

最佳答案

没有任何理由,这只是一个疏忽。事实上,它甚至不是唯一的。 Either.joinRight 例如还包含不必要的下限。但是因为删除它们意味着破坏源代码和二进制兼容性,所以到目前为止还没有发生。

关于scala - 为什么 "contains"上的 "Option"方法使用具有下限的第二种类型而不是 "Any"类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28501425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com