如何制作
DataStructure
接受类型
B
不使用原始类型?
public class Main {
public static void main(String[] args) {
DataStructure<A> bo = new DataStructure<>();
//This doesn't compile because of T extends Comparable<T>
DataStructure<B> bst = new DataStructure<>();
}
}
class DataStructure<T extends Comparable<T>> {
}
abstract class A implements Comparable<A> {
}
abstract class B extends A /*implements Comparable<B> - illegal*/ {
}
我可以改变
数据结构
签名至:
class DataStructure<T extends Comparable>
但随后我收到了关于原始类型的警告。我做不到
class DataStructure<T extends Comparable<? extends T>>
因为当
T == B
这个
? extends T
显然是假的。