स्प्रिंग सुरक्षा के साथ विकास करते समय मैंने हाल ही में एक समस्या में भाग लिया है।असुरक्षित जावा इंटरफेस लागू करना
public interface GrantedAuthority extends Serializable, Comparable
और जावा 1.5 के लिए और बाद में, इंटरफ़ेस Comparable
एक प्रकार पैरामीटर T
, जो वसंत सुरक्षा पुस्तकालयों में छोड़ दिया जाता है (जाहिर है, JVM 1.4 संगतता के लिए) ले जाता है: यह निम्नलिखित हस्ताक्षर के साथ एक अंतरफलक GrantedAuthority
है।
तो मैं स्कैला में 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
मैं कैसे स्काला में इस तरह के इंटरफ़ेस को लागू कर सकते हैं? जावा जेनेरिक्स साथ
कच्चे प्रकार से संबंधित ध्वनि: https://lampsvn.epfl.ch/trac/scala/ticket/2970#comment:3 – retronym
धन्यवाद, संक्षिप्त नाम। तो अंतिम जवाब वास्तव में, "wontfix" है? – incarnate