[英]How to implement Java interface that extends Comparable with no specific type in Scala?
[英]How do I syntaxcially correctly implement an interface with type<K extends Comparable<K>, V>?
當你實現一個泛型接口時,你應該總是指定類型參數。 您可以不指定它們,但是您使用的是原始類型, 而您不應該使用原始類型。
當你指定它們,你還需要一個有效的方式來指定。
由於兩個原因,第一個選項是錯誤的:
K extends Comparable<K>
是錯誤的K
和V
沒有在任何地方定義。 第二個選項是錯誤的,因為您重寫了K
的邊界。 在第一選擇此選項不同K
和V
在這里被定義- K
和V
是類型參數Son
。
第三個選項編譯,但它使用原始類型,這首先違背了使用泛型的目的。
理想情況下,您會編寫如下內容:
class Son<K extends Comparable<K>, V> implements Father<K, V> {
}
請注意我沒有重寫邊界,並將K
和V
定義為Son
的類型參數。
或者,指定一個具體類型:
class Son implements Father<String, Integer> {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.