我使用字符串获取类名,并使用Class.forName()获取类。
现在我想知道这个类是否是另一个类的实例(在本例中是java.lang.AutoCloseable)。
我的代码是
Class c = Class.forName("java.io.FileInputStream");
if(c instanceof java.lang.AutoCloseable){
//detected that FileInputStream implements AutoCloseable
}
但它似乎不起作用。我也尝试过c.newInstance()和c.getClass()。newInstance()但是既没有工作也没有抛出异常。请帮忙!
答案 0 :(得分:1)
Class c = Class.forName("java.io.FileInputStream");
if(c instanceof java.lang.AutoCloseable){
//detected that FileInputStream implements AutoCloseable
}
要
Class c = Class.forName("java.io.FileInputStream");
if(java.lang.AutoCloseable.class.isAssignableFrom(c)){
//detected that FileInputStream implements AutoCloseable
}
答案 1 :(得分:0)
尝试这样的事情
boolean isComparable = Comparable.class.isAssignableFrom(cls));