找不到要与 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)
我正在创建一个注释,我需要在其中匹配根本原因然后采取措施。三个 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)