参数扩展了一个类

cou*_*ech 5 scala type-parameter

我想做一个接受任何订购和打印更多的课程.(我只是在学习,所以我知道它有点无用)

class PrinterOfGreater[T extends Ordered](val a:T, val b:T){println(a > b)}
Run Code Online (Sandbox Code Playgroud)

我知道它不能用scala中的这种风格写出来,但我不知道怎么写得恰到好处......有人知道吗?

为什么这不编译?乳清字符串包装器是Ordered

class PrinterOfGreater[T <: Ordered[T]](a:T, b:T){println(a > b)} 
object A extends Application{new PrinterOfGreater("abc","abd")}
Run Code Online (Sandbox Code Playgroud)

Ran*_*ulz 6

关于你的第二个问题:( String在Scala中java.lang.String,至少在定位Java/JVM平台时)没有定义关系运算符>.但是,您可以通过替换指定所谓的视图边界<:with <%来轻松地容纳这一点,这意味着in 是子类型或者在范围内存在隐式转换,在给定的时候会产生.A <% B ABBA

这适用于String因为Scala的标准库提供的隐式从字符串转换到RichString(Scala中2.7)或StringOps(Scala中2.8),其中关系运算符定义.