黑马程序员技术交流社区

标题: 关于泛型的问题 [打印本页]

作者: 刘海陆    时间: 2013-6-5 21:43
标题: 关于泛型的问题
本帖最后由 孙百鑫 于 2013-6-22 00:37 编辑

请问这个代码:         Class<String> clazz = "".getClass();  为什么不行?    左右两边都是String类型的!
而                            Class<String> clazz =  String.class; 却可以编译通过



作者: 张洪慊    时间: 2013-6-5 22:35
Class<String> clazz = "".getClass();
看下错误提示,然后找下API中getClass方法:
实际结果类型是 Class<? extends |X|>,其中 |X| 表示清除表达式中的静态类型,该表达式调用 getClass。 例如,以下代码片段中不需要强制转换:
Number n = 0;
Class<? extends Number> c = n.getClass();

修改下:
Class<? extends String> clazz = "".getClass();

作者: 刘海陆    时间: 2013-6-6 00:28
张洪慊 发表于 2013-6-5 22:35
Class clazz = "".getClass();
看下错误提示,然后找下API中getClass方法:
实际结果类型是 Class ...

大体上明白了,但是,    |X| 表示清除表达式中的静态类型是什么意思
作者: 孙百鑫    时间: 2013-6-22 00:37
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2