加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将classname传递给方法

发布时间:2020-12-15 05:02:36 所属栏目:Java 来源:网络整理
导读:我的程序倾向于使用大量的包装异常(例如,SwingWorker在ExecutionException中包装它的所有异常).所以,我正在尝试编写一个方法,允许我检查异常或其任何原因是否是异常类型的实例,但我不知道如何(如果甚至可能)传递JUST类名作为方法的参数. 到目前为止,我有这个
我的程序倾向于使用大量的包装异常(例如,SwingWorker在ExecutionException中包装它的所有异常).所以,我正在尝试编写一个方法,允许我检查异常或其任何原因是否是异常类型的实例,但我不知道如何(如果甚至可能)传递JUST类名作为方法的参数.

到目前为止,我有这个:

public static boolean errorOrCausesInstanceOfClass(Throwable e,Class c) {
    return e != null && (e.getClass().equals(c) || (e.getCause() != null && errorOrCausesInstanceOfClass(e.getCause(),c)));
}

但是这只有在e.getClass()完全等于c.getClass()时才有效.但是我想检查使用instanceof来捕获子类.

有没有办法实现这个目标?

解决方法

试试用

Class.isAssignableFrom(Class clazz)

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读