Java5.0引入的泛型,我至今仍然认为是一个失败的语言演进方向,程序语言向弱化类型、甚至没有类型演进的时候,还要泛型作设么? 终于,Java6.0引入了令人激动脚本框架,内嵌JavaScript支持。这也许是Java平台向轻量、脚本化、简化Java语法方向演进的开始。
以前一篇Blog中对Java5.0泛型的评论:
最近,用Java 5.0开发opengoss系统,我会陆续把对5.0新特性的个人理解发表于此,以供讨论和学习。
首先, 是泛型。这是我非常不解的地方,为什么Java要支持泛型? 我个人对程序语言的理解认为:一个语言中的元概念(Atomic Concept)越少, 就越强大、灵活和易用。既然Java中所有的对象都是基于Object这个单根基类,那要泛型有何用?我很少使用C++, 但我觉得C++中是因为没有单根的基类, 所以引入泛型的解决方案。那么现在,Java5.0中等于对同一问题引入不同的解决方案, 让Java程序变得Ugly。
我们来看看Java5.0引入泛型的理由:
- 编译时检查。 Java5.0中的泛型是一个编译时的概念(运行时JVM是根本不Care泛型的:), 可以作为一个编译时的校验:
Map
map.put("key", new Object());
上述程序编译时出错。我非常想知道,在没有泛型的检查之前,我们的程序有多少ClassCastException抛出来?
Map map = new HashMap();
String value = map.get("key");
如果没有泛型, 你不得不强制转换,
Map map = new HashMap();
String value = (String)map.get("key");
但你觉得上下哪段代码更易用, 更易读? 简单的看代码量就知道了,一目了然!
个人评论:泛型是一个糟糕的演讲, 可能为了满足某些组织和程序员的个人习惯,或与C#竞争作出的商业决策。Ruby式的动态类型, 才是正确的演讲方式。
分享到:
相关推荐
ug6.0安装!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
java包 6.0, java包 6.0, java包 6.0, java包 6.0, java包 6.0
vc6.0 修改CListCtrl表格,比较实用的表格修改代码
Java6.0中文API去,全中文翻译,pdf格式,18M携带方便,体积小
【五子棋】禁手规则和智能算法探讨及其实现源代码(VC6.0环境成功通过!) 含禁手规则、智能算法和倒计时功能等
JAVA6.0的新特性
JAVA6.0帮助文档
Java 6.0 API文档 支持动态搜索 part1/part3
C++6.0使用方法,绝对实用!给初次接触6.0的童鞋们!
yolov5-6.0!!!
VC6.0安装教程!!!大家仔细看!先安装虚拟。。。然后SDK 然后OK
java 6.0 api 中文文档,在windows xp下测试过可以打开,下载完解压就可以使用了
java6.0中文APIjava6.0中文APIjava6.0中文API
本文档是西门子LOGO!的编程软件Soft Comfort V6.0的使用手手册,包含了软件的操作,编程,指令使用方法,程序下载等内容。
java6.0 中文API,方便只能上csdn又没分的筒子
java jdk6.0最新包。里面讲述了api特性与详细描述
下过我的资源都知道 我是什么人。。。。 还是那句话 骗人没jj 因为动手找了 完善了下 设1资源分 ::最近有人说运行不了 其实要安装.NET Framework 3.5 记住一定要3.5或者以上版本
java6.0中文APIjava6.0中文APIjava6.0中文API
java6.0中文APIjava6.0中文APIjava6.0中文API
中文Java 6.0 API(JAVA_6.0_API.part2.rar),是学习、使用JAVA的必备资料 中文,java,api,6.0