Java5的for/in循环使用[通俗易懂]

Java5的for/in循环使用

大家好,又见面了,我是全栈君。

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

本文转自 Icansoft 51CTO博客,原文链接: http://blog.51cto.com/android/56361
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107894.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat 在线激活码[免费获取]

    (navicat 在线激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
  • datax(18):源码解读Transformer

    datax(18):源码解读Transformer现在很多场景都把datax当做ETL工具,datax中的各种reader相当于E(Extract),各种writer相当于L(load),那么datax中是否有T(transform)。答案是肯定的~一、概述transformer作用:在生产上数据传输,一般情况下只需要rw就行,但是有时候需要在中间过程做些操作,比如加解密、切割、拼接等等,这个时候就需要transform了。族谱datax中的transform有2个顶级祖宗,简单类型的Transformer和复杂类型的ComplexTran.

    2022年5月13日
  • 自动化测试框架[Cypress PO模式]

    自动化测试框架[Cypress PO模式]【附源码】在Cypress中并不认为PO是个很好的模式,Cypress认为跨页面共享逻辑是一个反模式(Anti-Pattern),在Cypress中,它提供了很多方式,允许用户通过更简单的方式直接设置被测应用程序达到的待测试状态,不需要再不同页面一遍又一遍的执行相通操作

    2022年6月1日
  • ubuntu怎么卸载docker_failed to start docker.service

    ubuntu怎么卸载docker_failed to start docker.serviceDocker卸载及安装(CentOS7)1.卸载:#停止docker服务systemctlstopdocker#查看当前所有版本安装信息rpm-qa|grepdocker#yumlistinstalled|grepdocker#docker-ce-cli-20.10.12-3.el7.x86_64#docker-ce-20.10.11-3.el7.x86_64#docker-scan-plugin-0.12.0-3.el7.x86_64#docker-ce-

    2022年9月8日
  • MPEG4、XVID、AVC有什么区别

    MPEG4、XVID、AVC有什么区别MPEG-4包含XviD和DivX,而AVC优于二者mpeg4DVD用的多,101mpeg4有AVC格式(加强版MP4)AVC/H.264是一种最新且技术含量最高的视频编码格式,由MPEG-4标准进行定义的、由ISO的MPEG和ITU的VCEG两个组织于2003年最终定稿。而AVC/H.264标准本身则是由包括来自MPEG和VCEG专家的JointVideoTeam(JVT)开…

    2022年9月19日
  • CubieBoard 简单入门

    CubieBoard 简单入门大约一个月之前折腾的部分记录,当时没有完全完成,就着手其他事情了,这是存在LiveWriter中的草稿,先发出来吧,后来花了一段时间移植Qt,一直遇到了点问题,并没有完全跑通,后续估计也没有时间再继

    2022年7月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号