快速业务通道

JBuilder2005实现重构之升级到JDK5.0 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
要自动装/拆箱的地方,一并重构。如上面的代码段进行自动装/拆箱重构后,将调用为:

代码清单 14 自动装/拆箱重构后的代码

1. package myrefactor ; 2. public class Jdk5 3. { 4.  … 5.  public static void autoBoxingPreliminary(Integer intObject) 6.  { 7.   System.out.println(intObject) ; 8.  } 9. 10.  public static void autoBoxingRefactoring() 11.  { 12.   autoBoxingPreliminary(8) ; 13.  } 14.  … 15. }

第12行直接传入8而非new Integer(8),代码工整了许多。

JBuilder2005实现重构之升级到JDK5.0(3)

时间:2010-03-20

4、非泛型转泛型

在低版本中,集合中的对象在使用前需要进行显示的类型转换,如String s = (String)iter.next(),JDK 5.0引入了泛型的概念,加入了编译期类型安全检查,取消了强制类型转换,节省了代码,下面是大家熟悉的传统的List操作代码:

代码清单 15 非泛型的代码

1. public static void genericsArrayList() 2. { 3.  List list = new ArrayList() ; 4.  list.add(0 , new Integer(23)) ; 5.  int total = ( (Integer) list.get(0)).intValue() ; 6.  System.out.println(total) ; 7. }

将光标移到第3行(即集合定义的代码行):Ctrl+Shift+R->Introduce Generics调出泛型重构对话框:

JBuilder2005实现重构之升级到JDK5.0 - 编程入门网

图 23 泛型重构对话框

在Type Argument中指定一个数据类型,JBuilder已经通过分析代码默认了最适合的数据类型,一般情况下无需调整。按OK后完成泛型的代码重构:

代码清单 泛型的代码

1. public static void genericsArrayList() 2. { 3.  Listlist = new ArrayList() ; 4.  list.add(0 , new Integer(23)) ; 5.  int total = (list.get(0)).intValue() ; 6.  System.out.println(total) ; 7. }

注意第3行和第5行代码的变化。也许有人会指出第4行应该调整为list.add(23)才对啊?是的,只需要你调用前一小节的自动装/拆箱重构就可以完成这样的转换了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号