JAVA5 学习(1)

来源:互联网 发布:阳光网络伴我成长图片 编辑:程序博客网 时间:2024/06/10 03:20

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)};
 }
}
原创粉丝点击