Scala 类型参数化与抽象成员详解
1. 类型参数化中的上界
在 Scala 中,类型参数化是一个重要的特性。当我们设计排序函数时,有时需要确保传入列表的元素类型具备比较能力。例如,之前展示过的合并排序函数,它接受一个比较函数和一个待排序列表作为参数。另一种组织排序函数的方式是要求列表的元素类型混入 Ordered 特质。
Ordered 特质允许我们通过实现其抽象方法 compare 来使用 < 、 > 、 <= 和 >= 这些比较运算符。以下是一个 Person 类混入 Ordered 特质的示例:
class Person(val firstName: String, val lastName: String)
extends Ordered[Person] {
def compare(that: Person) = {
val lastNameComparison =
lastName.compareToIgnoreCase(that.lastName)
if (lastNameComparison != 0)
lastNameComparison
else
firstName.compareToIgnoreCase(that.firstName)
}
超级会员免费看
订阅专栏 解锁全文
685

被折叠的 条评论
为什么被折叠?



