例如:
class MyClass<T extends MyClass2> {
// Do stuff...
}
然后:
MyClass<MyClass2> myClass = new MyClass<MyClass2>();
这有用吗?我的同事的预感是否定的,但是我找不到任何可以确认的内容,也许文档也没有。
答案 0 :(得分:4)
这很好用。我刚刚写了这个:
public class MoreGeneric {
public static void main(String[] args) {
new MyClass1<MyClass2>();
}
public static class MyClass1<T extends MyClass2>{}
public static class MyClass2{}
}
编译得很好。
答案 1 :(得分:2)
我没有看到任何错误。即使MyClass<MyClass> m = new MyClass<MyClass>();
也应该是有效的表达式(甚至可能有用)。
答案 2 :(得分:2)
答案 3 :(得分:2)
是的,你可以。 T extends ClassX
检查ClassX.isAssignableFrom(T.class))
。
super是相反的,所以你可以使用bind类来实现。
并且......你可以编写一个测试来找出:)