五千年(敝帚自珍)

主题:【评论】Sun发布了最新的Java版本-- 5.0 Tiger版 -- Highway

共:💬18
全看分页树展 · 主题 跟帖
家园 对,就是那么回事

Java 1.5改进的只是它的Compiler,具体实现和以前的毫无二致,这样JVM就不需要任何修改,而能够实现语法上的Generic了。

整个一个障眼法。

平心而论,Java的Generic和C++的Template实现思路是类似的,就是通过预编译来实现语法上的需要(类型待定),而实际代码中依然还是确定的东西。但是C++的Template在预编译以后得到的是具体确定的类型,而Java的Generic在预编译以后得到的却是那个始祖类而不是具体的那个类型,这样Generic/Template的思想就被改变了,因为二者的Generic范围是截然不同的。Template可以做到比较严格的限定(就像是.Net 2.0中做到的那样),这样编译器可以帮助程序员发现可能出错的地方;而Generic却是毫无限定,编译器只是简单地应付交差了事。

这就是为什么我说Java 1.5的Generic实现不怎么样的缘故,因为在三个实现Template的主流编程语言中(C+,C#和Java),它的实现是最差的。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河