最近、Spring Security で開発中に問題が発生しました。GrantedAuthority
次のシグネチャを持つインターフェイスがあります。
public interface GrantedAuthority extends Serializable, Comparable
また、Java 1.5 以降では、インターフェースComparable
は型パラメーターを取りますがT
、これは Spring Security ライブラリーでは省略されています (明らかに、JVM 1.4 との互換性のために)。
だから私はGrantedAuthority
Scalaで実装しようとしています。
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 でそのようなインターフェースを実装するにはどうすればよいですか?