您的位置:首页 >> 编程开发 >> Java >> J2EE >> 正文
RSS
 

实战JDK 5

http://www.rdxx.com 05年08月10日 20:36 Java频道 我要投稿

关键词: JDK

  嗨!
  该代码不仅难以阅读,而且还未能遵守DRY(Don't repeat yourself)准则。如果我需要在列表<Account> Collection<Account>中更改此映射的值类型,将会发生什么事?我需要替换代码中的所有的此类声明。尽管IDE重构对此有所帮助,仍然需要对相当多的代码进行修改,此类修改甚至有可能对代码的语义产生一定影响。

  事实上,创建新对象时没有什么好办法可以避免该语法,但是我要说的是,如果将typedef和Generic一起引入,情况会好的多。

  我最初是这种观点。

  但是,随着认识的加深,我发现使用typedef解决问题是一个错误的解决方案,因为靠简单添加的方式对使用单独类定义复杂Generic类型没有任何作用。

class AccountMap extends HashMap<String, List&lAccount>> { ...}

  除去扩展实现(很显然是HashMap而不是Map)这种情况,该解决方案可能比引入typedef好一些,因为typedef有其自身的缺陷。

  迄今我还没有遇到这种麻烦,但我的建议是:如果编写该类型三次(初始化两次,在代码中使用一次以上)以上,则使用它。

  除此缺点外,总体来说我还是相当喜欢Generics的,而且尤其喜欢阅读编写的非常好的TestNG Javadocs。

结束语

  对于JDK 5.0的新特性我非常满意。我有幸参与了JSR 175和JSR 201,从而有机会对开发JDK 5.0的新特性作出了自己的贡献。同所有根本性的变革一样,不是所有的新特性都受到大家的欢迎,但随着大多数开发人员发现其中某些特性非常有用,并且还保留了向后兼容性,我认为JDK 5.0向开发更多健壮的Java代码迈出了坚定的一步。 

关于作者

Cedric Beust的电子邮箱:cedric@beust.com
博客:http://www.beust.com/weblog/

  Cedric Beust是WebLogic Server团队的高级软件开发人员,他在其博客Otaku中提出了J2EE、Java、AOP和软件开发等方面的见解。

原文出处

http://www.theserverside.com/blogs/showblog.tss?id=JDK5Practice

9 7 3 1 2 4 8 :

 
 
标签: JDK 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站