A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lion_good 中级黑马   /  2015-9-9 16:58  /  448 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1 为何不能catch泛型变量?如:
  1. public static <T extends Throwable> void doWork(Class<T> t) {
  2.     try {
  3.         //do work
  4.     }
  5.     catch (T e) // ERROR--can't catch type variable
  6.     {
  7.         e.printStackTrace();
  8.     }
  9. }
复制代码


2 但是可以throws泛型变量,为何?如:
  1. public static <T extends Throwable> void doWork(T t) throws T // OK
  2. {
  3.     try {
  4.        // do work
  5.     }
  6.     catch (Throwable e) {
  7.        e.printStackTrace()
  8.     }
  9. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马