找不到要与 instanceOf 一起使用的 class 类型

Cannot find the Type of class to use with instanceOf

我正在创建一个注释,我需要在其中匹配根本原因然后采取措施。三个 classes 作为完全限定名称传递到数组中,如 javax.persistence.PersistenceException。当我在接受 class 类型的“instanceOf”中使用这些 classes 来匹配 rootCause 时,它​​不起作用。我收到错误“class0 无法解析为类型”。我还尝试 class0.getClass() 来查找类型。任何建议将不胜感激。

public boolean findRootCauseOfException(Throwable throwable, String[] value) {
    Objects.requireNonNull(throwable);
    Throwable rootCause = throwable;

Object class0 = null;
Object class1 = null;
Object class2 = null;

try {
    class0 = Class.forName(value[0]);
    class1 = Class.forName(value[1]);
    class2 = Class.forName(value[2]);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}
while (rootCause != null) {
    if (rootCause instanceof class0 
            || rootCause instanceof class1 
            || rootCause instanceof class2 ) {
        return true;    
    }
    rootCause = rootCause.getCause();
}
return false;

}

instanceof 仅适用于文字 classes,不适用于 Class 对象。

Class.isInstance

您必须在 Class class 上调用 isInstance 方法。不要与 instanceOf.

混淆
 class0.isInstance(rootCause)