Gần đây tôi đã gặp sự cố khi phát triển với Spring Security. Nó có một giao diện GrantedAuthority
với chữ ký sau đây:Triển khai các giao diện Java không an toàn
public interface GrantedAuthority extends Serializable, Comparable
Và như cho Java 1.5 và sau đó, giao diện Comparable
mất một tham số kiểu T
, được bỏ qua trong các thư viện Xuân An (rõ ràng, cho JVM 1,4 tương thích).
Vì vậy, tôi đang cố triển khai GrantedAuthority
trong Scala.
class Role extends GrantedAuthority {
. . .
def compareTo(obj: Any): Int = obj match {
case (r: Role) => r.toString.compareTo(this.toString)
case _ => -1
}
}
Nó không biên dịch:
error: class Role needs to be abstract, since method compareTo in trait Comparable of type (T)Int is not defined
Làm thế nào tôi có thể thực hiện giao diện như vậy trong Scala?
Âm thanh liên quan đến các loại thô như sau: https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym
Cảm ơn, từ viết tắt. Vì vậy, câu trả lời cuối cùng là, "thực sự," wontfix "? – incarnate