Недавно я столкнулся с проблемой при разработке с 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?