黑马程序员技术交流社区

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

作者: 杜成龙    时间: 2013-9-20 09:14
标题: 关于泛型的一个问题
我定义了两个泛型方法:
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就可以了呢,我想知道这里面是什么原因造成这种不同的?求大家指教,谢谢啦!





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