技术开发 频道

Java5的for/in循环使用

  【IT168 技术文档】很早就听说Java5新增的for/in循环,以前也曾写过一些demo,今天有空来总结一下:

  1. for/in循环的等价

  int[] arraySrc = new int[100];   for (int i:arraySrc)   {   i = 1;   }

  等价于

  int[] arraySrc = new int[100];   for (int i=0; i   {   arrayScr[i] = 1;   }

  2. 冒号左边的类型怎么写?

  String[][] str= new String[7][];   for(String[] s:str)   {   s = new String[5];   }   Vector[] v = new Vector[2];   for(Vector s:v)   {   s =new Vector(2,1);   }

  从上面的代码,可以看到冒号左边的类型是右边变量的内部元素的类型

  对于集合的泛型也是适用的 ,冒号左边的类型是泛型元素的类型

  List list = new ArrayList();   list.add(new NewBean("title1"));   list.add(new NewBean("title2"));   for(NewBean bean : list)   {   System.out.println(bean.getTitle());   }

  3. ******注意事项******

  (1) 一个for/in循环不能设置多个这样的冒号对

  像以下的,编译时会提示error

  for (int ii:arraySrc; int jj:arrayDest)//error

  ii = 1;

  即使写成

  for (int ii:arraySrc, int jj:arrayDest)//error

  ii = i;

  也是编译错误!

  (2) 性能没有改变,因为编译时会转化为和原来写法一样的字节码,只是有时候写代码省时间而已!不用考虑边界问题!

0
相关文章