scala – 参数扩展了一个类
发布时间:2020-12-16 18:40:09 所属栏目:安全 来源:网络整理
导读:我想做一个接受任何订购和打印更多的课程. (我只是在学习,所以我知道它有点无用) class PrinterOfGreater[T extends Ordered](val a:T,val b:T){println(a b)} 我知道它不能用scala中的这种风格写出来,但我不知道怎么写得恰到好处……有人知道吗? 为什么这
我想做一个接受任何订购和打印更多的课程. (我只是在学习,所以我知道它有点无用)
class PrinterOfGreater[T extends Ordered](val a:T,val b:T){println(a > b)} 我知道它不能用scala中的这种风格写出来,但我不知道怎么写得恰到好处……有人知道吗? 为什么这不编译?乳清字符串包装器是Ordered class PrinterOfGreater[T <: Ordered[T]](a:T,b:T){println(a > b)} object A extends Application{new PrinterOfGreater("abc","abd")} 解决方法
关于你的第二个问题:String(在Scala中只是java.lang.String,至少在定位Java / JVM平台时)没有定义关系运算符>.但是,您可以通过替换指定所谓视图边界的<:with<%来轻松实现此目的,这意味着在A<%BA中是B的子类型或者在范围内存在隐式转换给出A时会产生B. 这适用于String,因为Scala的标准库提供了从String到RichString(在Scala 2.7中)或StringOps(在Scala 2.8中)的隐式转换,其中定义了关系运算符.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |