我正在编写一个方法,如果异常是 的实例,该方法将返回 true *someClass*。但我无法导入其中一个类,因为它位于另一个模块中。我无法将该模块添加到项目中,所以我想,我无法使用instanceof。我考虑创建一个Mapof Strings- 异常的类名并检查我的异常的类名是否在映射中,但我认为这会相当慢且难看。方法如下:public boolean checkExceptionClass(Throwable cause){ return (cause instanceof firstException || cause instanceof secondException || cause instanceof iDontHaveThatClassException // can't do that || cause instanceof fourthException);}也许我在我眼皮子底下看不到解决这个问题的好办法。非常感谢任何想法和建议。
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
您可以尝试使用 .getClass() 和 getSimpleName(),例如:
Integer integer = Integer.valueOf(1);
if(integer.getClass().getSimpleName().equals("Integer") {
return true
}
所以基本上你可以使用你无法导入的类的名称,值得一提的是,硬编码不是最佳实践
添加回答
举报
0/150
提交
取消