我正在使用字符串获取类名并使用 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() 但既没有工作也没有抛出异常。请帮忙!
最佳答案
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
}
关于java - 如何检查 Class.forName() 是否实现了特定接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074292/