Scala 排序 API 使用隐式对象。例如:
def msort[T](xs: List[T])(implicit ord: Ordering) = { ...}
Java 使用 Comparable 接口来达到同样的目的。
public static <T extends Comparable<? super T>> void sort(List<T> list) { ... }
为什么 Scala 更喜欢隐式类型而不是扩展 trait?隐式参数有什么好处?
Scala 排序 API 使用隐式对象。例如:
def msort[T](xs: List[T])(implicit ord: Ordering) = { ...}
Java 使用 Comparable 接口来达到同样的目的。
public static <T extends Comparable<? super T>> void sort(List<T> list) { ... }
为什么 Scala 更喜欢隐式类型而不是扩展 trait?隐式参数有什么好处?