- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么 Scala 的 RichInt
扩展 Comparable[Int]
而不是 Comparable[RichInt]
?
我是 Scala 的新手。在浏览 Scala 库代码时,我注意到类 RichInt
扩展了 ScalaNumberProxy[Int]
,ScalaNumberProxy
扩展 OrderedProxy
,OrderedProxy
扩展 Ordered
,Ordered
扩展 java .lang.Comparable
.所以我的理解是 RichInt
(间接地)扩展了 java.lang.Comparable[Int]
。
我的问题是为什么它不扩展 java.lang.Comparable[RichInt]
?
我提出这个问题的原因是在Java中,我会写这样的代码:
class A implements Comparable<A> {
@Override
public int compareTo(A other) {
//implement the method.
}
....
}
最佳答案
首先我们需要知道RichInt
用于为Int
类型提供辅助函数 by implicit conversions在 Predef 中定义:
@inline implicit def intWrapper(x: Int) = new runtime.RichInt(x)
所以你可以像这样使用它:
2.doubleValue()
2.shortValue()
...
对于您的问题:为什么它不扩展 java.lang.Comparable[RichInt]
因为我们实际操作的是Int
类型,而不是RichInt
类型。喜欢:
2.compare(3)
关于scala - 为什么 Scala 的 RichInt 扩展 Comparable[Int] 而不是 Comparable[RichInt]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49102341/
为什么 Scala 的 RichInt 扩展 Comparable[Int] 而不是 Comparable[RichInt]? 我是 Scala 的新手。在浏览 Scala 库代码时,我注意到类 Ri
这是一个简单的问题。 为什么与 Int 相关的方法不在 Int 中? 相反,Scala 费心将相关方法放入 RichInt并依靠 隐式转换 以便让它们像 Int 的方法一样工作. 何苦? 最佳答案 S
我是一名优秀的程序员,十分优秀!