我在用Spring Security進行開發時最近遇到了一個問題。它具有以下簽名的接口GrantedAuthority
:實現不安全的Java接口
public interface GrantedAuthority extends Serializable, Comparable
而作爲對Java 1.5及更高版本,界面Comparable
需要一個類型參數T
,這是在春季安全庫省略(顯然,對於JVM 1.4兼容)。
所以我試圖在斯卡拉實施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中實現這樣的接口?
與原始類型相關的聲音如下所示:https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym 2010-02-13 19:56:40
謝謝,反義詞。所以最終的答案實際上是「wontfix」? – incarnate 2010-02-13 20:15:41