打印本文 打印本文 关闭窗口 关闭窗口
J2SE 1.5新特性简介
作者:武汉SEO闵涛  文章来源:敏韬网  点击数972  更新时间:2009/4/22 23:28:26  文章录入:mintao  责任编辑:mintao

  Java2标准版(Java 2 Platform, Standard Edition, J2SE)1.5即将正式推出,这一次的版本更新不同于以往,它带来了很多里程碑式的革新,SUN将其绰号取名为“虎”。这一次的变革将是Java诞生以来从未有过的,它给我们带来了耳目一新的感觉。下面我们就来欣赏一下其中的部分典型变化:



  1. 自动包装和解包(Autoboxing and unboxing)

  代码示例

  往一个ArrayList中加入一个整数,1.5版本以前的版本写法是:

List list = new ArrayList();

list.add( new Integer( 10 ) );
  而在1.5版本中可以写为:

list.add( 10 );
  因为,在1.5版本中,对一个整数进行包装,使之成为一个Integer对象(即包装,boxing),然后加入到一个ArrayList中的做法被认为是没有必要的,反之,解包(unboxing)的做法也是没有必要的,这样的代码只是增加了程序的文本长度而已,所以1.5版本支持了自动包装和解包操作,对于bool/Boolean,byte/Byte,double/Double,short/Short,int/Integer,long/Long,float/Float的相应包装/解包操作都进行了支持,从而使代码变得简单。

  2. 更优化的循环语句(The inhanced for loop)

  代码示例

  一个典型的遍历数组的循环语句,1.5版本以前的写法是:

for ( Iterator iterator = list.iterator(); iterator.hasNext(); )

{

Integer n = (Integer)iterator.next();

...

}//for
  而在1.5版本中可以写为:

for ( Integer n : list )

{

...

}//for
  显然1.5版本的写法比以前是大大简化了,但是在需要修改集合,比如删除其中元素时不能采用这种写法。之所以Java1.5版本没有象C#那样干脆定义一个foreach关键词,主要是因为SUN认为增加一个专门的关键词成本太高了(too costly)。但1.4版本中就曾经增加了assert关键词,1.5版本中也新增加了enum关键词,因此这一解释恐怕并不那么令人信服。

打印本文 打印本文 关闭窗口 关闭窗口