如何在语法上正确地实现 type<K extends Comparable<K>, V> 的接口?

http://img4.mukewang.com/61b3037d00016c1c04400191.jpg

K 和 V 保证是字符串或整数。我已经多次使用泛型,但从未使用过<K extends Comparable<K>, V>,所以我现在很挣扎。


手掌心
浏览 233回答 1
1回答

呼唤远方

当你实现一个泛型接口时,你应该总是指定类型参数。您可以不指定它们而逃脱,但是您正在使用原始类型,而您不应该使用原始类型。当你做指定它们,你还需要一个有效的方式来指定。第一个选项是错误的,原因有两个:当你指定类型参数时,你永远不会重写那个参数的边界,所以写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> {}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java