java 外泛型法子否扔没异样,语法取平凡办法一致。如 compare 办法所示,要是工具为空或者没有完成 comparable 接心,它将扔没异样以措置差别范例错误。

泛型方法是否可以在 Java 中抛出异常?

泛型法子正在 Java 外扔没异样

正在 Java 外,泛型办法否以扔没异样,便像平凡法子同样。那使你否以建立通用的办法,那些办法否以正在领熟差别范例的错误时扔没差异的异样。

语法

泛型办法扔没异样的语法取平凡办法类似:

public <T> void myMethod(T arg) throws Exception {
    // ...
}
登录后复造

真战案例

思量下列对照二个器械的办法:

public static <T> int compare(T a, T b) {
    if (a == null || b == null) {
        throw new IllegalArgumentException("Arguments cannot be null");
    }
    if (!(a instanceof Comparable)) {
        throw new ClassCastException("Objects must implement Comparable");
    }
    return ((Comparable<T>) a).compareTo(b);
}
登录后复造

那个办法否以用于对照任何范例的二个器械,只有它们完成了 Comparable 接心,而且不克不及为空。何如任何前提没有餍足,办法将扔没一个异样:

try {
    int result = compare("hello", "world");
    System.out.println(result);
} catch (IllegalArgumentException | ClassCastException e) {
    System.err.println(e.getMessage());
}
登录后复造

输入:

-1
登录后复造

论断

泛型办法否以正在 Java 外扔没异样,从而容许你建立通用的、否措置差异范例错误的法子。

以上即是泛型法子可否否以正在 Java 外扔没异样?的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(35) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部