10黑马币
最佳答案这个问题其实不仅涉及到类型擦除,还涉及到方法重载,下面我试着结合这两点以及实际的字节码为证来解释楼主的问题:
为了方便说明,从第二段代码开始说,这段代码会报错:
下面是对上面代码的解释:
1.用带类型参数的方式定义list变量,类型变量的作用是显式地告诉编译器list是用来装String的,那么就可以获得编译期间的类型检查。编译器在必要的时候会 插入类型转换代码,比如String s = list.get(0),编译器就会把这句代码编译 ...
| |
点评
机智的哥们,服了
| |
| |
| |
| |
点评
关于异常的处理不在我现在提出的问题的讨论范围之类。
所以在主函数声明上throws Exception一笔带过了,这里没有贴出来,我以为大家应该都知道
| |
| |
点评
汗,请仔细看问题描述吧。我是想问为什么第一种情况可以,第二种情况却会出现异常
| |
| |
| |
| |
| |
| |
| |
点评
确实如此,不过现在的问题是:为什么?
| |