JAVA5 学习(1)

王朝java/jsp·作者佚名  2006-01-22
窄屏简体版  字體: |||超大  

JAVA5推出已经很长时间了,相比以前的版本,这次有了很多很好的新特性,在这里就和大家分享和探讨一下。

循环操作的增强

循环操作的增强对集合和数组提供了简单,一致的语法。

1.变量初始化

以前的代码实现:

int sum = 0;

Integer[] numbers = computeNumbers();

for (int i=0; i < numbers.length ; i++)

sum += numbers[i];

以上的初始化仅仅会在循环内部求值,就是说你常常可以除去这个声明的变量。在上面这个例

子里我们必须创建一个Integer数组来维持computeNumber()方法返回的Integer数组结果,为

的是在循环执行时不用重复计算computeNumber()方法返回值大小。

JAVA5代码实现:

int sum = 0;

for ( int number: computeNumbers() )

sum += number;

这就比以前的代码看起来更简洁,也不用声明一个中间变量numbers。

局限:

在要访问集合或数组内部值(numbers[i]),我们必须要使用JAVA5以前的写法:

for (int i=0; i < numbers.length ; i++) {

if (i != 0) System.out.print(",");

System.out.print(numbers[i]);

}

上面的代码时将数组值用逗号(,)隔开,这种必须要用索引的程序只有用以前的写法了。

for (Iterator<integer> it = n.iterator() ; it.hasNext() ; )

if (it.next() < 0)

it.remove();

上面的代码是要删除值为负数的项,我们必须一个个进行迭代,如果用循环增强显然为我们

隐藏了这些,不能达到效果,必须用以前的写法达到效果!

完整的例子:

import java.util.*;

public class GenericArrayExample {

public static void main(String args[])

{

//Vector<Integer> vectorList[] = new Vector<Integer>[10];

//Vector<Integer> vectorList[] = new Vector<Integer>[];

//Vector vector[] = new Vector[10];

int sum = 0;

for ( int number: computeNumbers() )

sum += number;

System.out.println(sum);

Integer[] numbers = computeNumbers();

for (int i=0; i < numbers.length ; i++) {

if (i != 0) System.out.print(",");

System.out.print(numbers[i]);

}

}

private static Integer[] computeNumbers() {

// TODO Auto-generated method stub

return new Integer[]{new Integer(1),new Integer(2),new Integer(3)};

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航