`
erylee
  • 浏览: 108212 次
社区版块
存档分类
最新评论

Java6.0重回正轨!

    博客分类:
  • Java
阅读更多
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式的动态类型, 才是正确的演讲方式。
分享到:
评论
3 楼 stwei1983 2009-03-09  
2 楼 linginfanta 2007-04-11  
见仁见智吧。我觉得没有什么。
1 楼 zhh1981 2007-03-13  
我也觉得泛型很不舒服!起到的用处有多大?!

相关推荐

Global site tag (gtag.js) - Google Analytics