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

© IT人 中级黑马   /  2013-12-21 11:40  /  1041 人查看  /  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]);//经过推断T是Object
copy1(new Vector<Date>(),new String[10]);// 编译器会报错
我的疑问是:在老师的讲解中说Vector也是一个泛型,所以当你为Vector的泛型T指定一个Date
那么T就是Date了,因为具有传播性,所以在copy1(new Vector<Date>(),new String[10])中
new String[10]就是错的。疑问就是什么情况下能推断,什么情况下不能???还有就是Vector的泛型T指定一个Date那么T就是Date了,为什么会是这样???原理是什么??请大家指教一下!有点不明白??还是我我想多了。

评分

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

查看全部评分

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