Generics Types 泛型学习笔记<二>
作者:冰云
时间:2004-02-24
联系:icecloud(AT)sina.com
Blog:http://icecloud.51.net
首先我要特别感谢Schlemiel,他指出了类型协变的问题。其实我以前也看到过gigix翻译的那篇文,但是没看懂也没经大脑。经Schlemiel一提醒,我才意识到,这是泛型的规范。再翻出来看,如醍醐灌顶,真良师益友也。
我写文章的目的,就是为了能够找到更多同好进行交流。没有交流,没有氛围,绝对不会有提高。谢谢Schlemiel,每次读他的文章或评论,都能受到很大的启发。
如果需要深入了解泛型,请阅读程序员杂志2003第7期,或
http://gigix.cool2u.net/download/Variance_in_Java.pdf
ok,继续上次的学习笔记。这篇22页的文章正好读了3天。每天从地铁东四十条到西直门,每次读7页。如果哪位晚上6:30-7:00间看到地铁上有个人拿着本电脑书在读,不妨上来问问是不是俺 ^___^||
另:后面文中每章出现了不少重点,我就按照和文中章节一样的标题。Notes则自己编号。
这次特地把字体变为14px,不知道各位看起来如何啊?会不会太大?
5 泛型方法(函数)
根据上一条,既然通配符类型是只读的,那么怎样才能在函数中写入呢?这就引入了泛型函数(Generic Mehtods):
<T> static void fromArrayToCollection(T[] a, Collection<T> c) { for (T o : a){ c.add(o); //correct } } Collection<Object> co = new ArrayList<Object>; Collection<String> cs = new ArrayList<String>; fromArrayToCollection(new Integer[100], co); < |