快速业务通道

探索JDK1.5高级编码特征 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
,在该例中可以看成"for Object o in c"。你可以发现这种For循环更具可读性。

自动置入/自动取出(Autoboxing/unboxing)

探索JDK1.5高级编码特征(3)

时间:2010-12-23

Java有基本数据类型,在这些基本数据类型周围又有包装类。通常,编程人员需要将一种类型转换成另一种。看看Listing C.中的代码片断。

Listing C public class Employee { private static final Integer CHILD = new Integer(0); public static void main(String args[]) { //code for adding n to an Integer int n=10; Integer age= new Integer(30); Integer ageAfterTenYear= new Integer(age.intValue +10); } }

请注意,用于计算ageAfterTenYear的内循环代码看上去是多么杂乱。现在,在Listing D.中看看相同的程序使用autoboxing重写后的样子。

Listing D public class Employee { public static void main(String args[]) { int n=10; Integer age= new Integer(30); Integer ageAfterTenYear= age +10; } }

有一件事值得注意的:在先前,如果你取出(unbox)Null值,它将变为0。在次代码中,编译器将自动地转换Integer为int然后加上10,接着将其转换回Integer.。

类型安全的枚举(Typesafeenums)

类型安全枚举提供下列特性:

他们提供编译时类型安全。

他们都是对象,因此你不需要将他们放入集合中。

他们作为一种类的实现,因此你可以添加一些方法。

他们为枚举类型提供了合适的命名空间。

他们打印的值具有情报性(informative)— 如果你打印一个整数枚举(intenum),你只是看见一个数字,它可能并不具有情报性。

例一:

enum Season { winter, spring, summer, fall }

例二:

public enum Coin { penny(1), nickel(5), dime(10), quarter(25); Coin(int value) { this.value = value; } private final int value; public int value() { return value; } }

探索JDK1.5高级编码特征(4)

时间:2010-12-23

静态导入(Static import)

静态导入使代码更易读。通常,你要使用定义在另一个类中的常量(constants),像这样:

importorg.yyy.pkg.Increment; class Employee { public Double calculateSalary(Double salary{ return salary + Increment.INCREMENT * salary; } }

当时使用静态导入,我们无需为常量名前缀类名就能使用这些常量,像这样:

import static org.yyy.pkg.Increment; class Employee { public Double calculateSalary(Double salary{ return salary + INCREMENT * salary; } }

注意,我们可以调用INCREMENT这一常量而不要使用类名Increment.。

元数据(Metadata)

元数据特征志于使开发者们借助厂商提供的工具可以进行更简易的开发。看一看Listing E.中的代码。

Listing E importorg.yyy.hr; public interface EmployeeI extends Java.rmi.Remote { public String getName() throwsJava.rmi.RemoteException; public String getLocation () throwsJava.rmi.RemoteException; } public class EmployeeImpl implements EmployeeI { public String getName(){ } public String getLocation (){ } }

通过元数据的支持,你可以改写Listing E中的代码为:

importorg.yyy.hr; public class Employee { @Remote public String getName() { ... } @Remote public public String getLocation() { ... } }

正像你所看到的,所有样板化的代码都不见了。

这些新特性和规格说明将在JDK1.5中实现。它将提供Java编程社区更多的选择以编写鲁棒的、可扩展的代码。认真的Java编程人员将感到着手去熟悉这一Java编程语言的新版本是很有益的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号