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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜成龙 中级黑马   /  2013-9-20 09:14  /  696 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我定义了两个泛型方法:
public static <T> void copy1(Collection<T> dest, T[] src){}
public static <T> void copy2(T[] dest, T[] src){}
下面是调用上面方法的语句
copy2(new Date[10], new String[10]); 这个语句是正确的,因为可以理解为找这两个类型的公共类型Object。
copy1(new Vector<Date>(), new String[10]); 但是这个语句就是错误的了,老师讲的是说这个里面是传播型的,因为Vector里传的是Date,所以T就是Date类型的了,所以后面再传String就不对了。但是为什么上面这个语句第一个是Date,那后面是String就可以了呢,我想知道这里面是什么原因造成这种不同的?求大家指教,谢谢啦!

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

0 个回复

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