我有这个界面:
interface MyInt<T> {
public void foo(T t);
}
这些课程:
class MyString implements MyInt<String> {
@Override
public void foo(String t) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
class MyDouble implements MyInt<Double> {
@Override
public void foo(Double t) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
现在我想测试一个类是否不仅实现了MyInt
(我可以做到),而且如果该类实现MyInt<String>
了,我的代码到目前为止:
Class<MyInt> c = MyInt.class;
Class c0 = MyString.class;
Class c1 = MyDouble.class;
System.out.println(c.isAssignableFrom(c0)); //true
System.out.println(c.isAssignableFrom(c1)); //true
每次尝试添加字符串“sublass”(甚至不知道 T 的正确名称)都会导致编译错误。有什么办法可以做到这一点?