gpt4 book ai didi

scala - 为什么 Scala 的 RichInt 扩展 Comparable[Int] 而不是 Comparable[RichInt]?

转载 作者:行者123 更新时间:2023-12-05 05:17:35 25 4
gpt4 key购买 nike

为什么 Scala 的 RichInt 扩展 Comparable[Int] 而不是 Comparable[RichInt]

我是 Scala 的新手。在浏览 Scala 库代码时,我注意到类 RichInt 扩展了 ScalaNumberProxy[Int]ScalaNumberProxy 扩展 OrderedProxyOrderedProxy 扩展 OrderedOrdered 扩展 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 conversionsPredef 中定义:

@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/

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