这是一个无效的结构。
class A <T extends String & Comparable<T>>{}退出:
java: java.lang.Comparable cannot be inherited with different arguments: <T> and <java.lang.String>但它是有效的
class A <T extends Number & Comparable<T>>{}我不认为它与字符串相关是最终的,但数字-不是。
但我认为T字符串在一开始是有效的。为什么不行?
发布于 2014-03-11 05:37:14
不同的是,String类已经实现了Comparable<String>,而Number类没有实现。因此,有了这个绑定,T将同时实现Comparable<String>和Comparable<T>,这是不允许的。
类不能从泛型类型扩展或实现不同的参数化实例化。
https://stackoverflow.com/questions/22317232
复制相似问题