【发布时间】:2010-02-13 19:23:08
【问题描述】:
我最近在使用 Spring Security 进行开发时遇到了一个问题。它有一个接口GrantedAuthority,签名如下:
public interface GrantedAuthority extends Serializable, Comparable
对于 Java 1.5 及更高版本,接口Comparable 采用类型参数T,在 Spring Security 库中省略了该参数(显然是为了与 JVM 1.4 兼容)。
所以我试图在 Scala 中实现GrantedAuthority。
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
它不编译:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
如何在 Scala 中实现这样的接口?
【问题讨论】:
-
与这样的原始类型相关的声音:lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3
-
谢谢,回溯。所以最终的答案实际上是“不会修复”?
标签: inheritance scala language-interoperability