用于检查最大值的通用函数(String或Int)

时间:2017-05-22 19:40:38

标签: scala

我试图在Scala中创建一个通用函数,但语法不能正常工作。是否有人可以详述原因?

def max1[B](a1 : B, b1 : B) : B = {  
  if (a1 < b1) a1 else b1  
}  

1 个答案:

答案 0 :(得分:0)

这不会编译,因为编译器不知道类型B具有可以调用的>方法。

如果编译器可以找到&#34;证据&#34;类型B具有某种排序原则,然后证据可用于对B的实例进行操作。

def maxb[B](x: B, y: B)(implicit ev: Ordering[B]): B = ev.max(x, y)