Java6.0重回正轨!

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抛出来?
  • 使Java语言更易于使用:
Map map = new HashMap();
String value = map.get("key");

如果没有泛型, 你不得不强制转换,

Map map = new HashMap();
String value = (String)map.get("key");

但你觉得上下哪段代码更易用, 更易读? 简单的看代码量就知道了,一目了然!

个人评论:泛型是一个糟糕的演讲, 可能为了满足某些组织和程序员的个人习惯,或与C#竞争作出的商业决策。Ruby式的动态类型, 才是正确的演讲方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值