Java5的for/in循环使用

  • Post author:
  • Post category:java


很早就听说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<arraySrc.length;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<NewBean> list =

new

ArrayList<NewBean>();

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

转载于:https://blog.51cto.com/android/56361


关闭菜单