package cn.itcast.day19.foreach;import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;/** JDK5的新特性:自动拆装箱,泛型,可变参数,增强for,静态导入,枚举* *    增强for:是for循环的一种**    格式:*        for(元素数据类型 变量:数组或者Collection集合){*        *        }**好处:简化了数组和Collection集合的遍历**弊端:*   1  增强for的目标不能为null*       解决:对增强for的目标先进行不为null的判断,然后再使用 *   2  无法在迭代过程中修改集合*       解决:没辙*/
public class ForEachDemo {public static void main(String[] args) {String[] arr1=new String[]{"林青霞","风清扬","猪八戒","沙和尚"};for(String s:arr1){System.out.println(s);}System.out.println("---------");Collection<String> arr2=new ArrayList<String>();arr2.add("林青霞");arr2.add("风清扬");arr2.add("猪八戒");arr2.add("沙和尚");for(String s:arr2){System.out.println(s);}System.out.println("---------");//增强for其实就是迭代器 //迭代器迭代集合,正在迭代的过程中,集合操作集合元素ConcurrentModificationException
//        for(String s:arr2){
//            if("林青霞".equals(s)){
//                arr2.add("孙悟空");
//            }
//        }//列表迭代器迭代集合,迭代器修改结合List<String> arr3=(List<String>)arr2;ListIterator<String> it=arr3.listIterator();while(it.hasNext()){String s=it.next();if("林青霞".equals(s)){it.add("周杰伦 ");}}System.out.println("arr3: "+arr3);System.out.println("---------");List<String> list=null;//对增强for的目标先进行不为null的判断,然后再使用 if(list!=null){//s是从list中拿出来的,在拿之前肯定会判断list是否有元素,而这时list=null,报空指针for(String s:list){System.out.println(s);}}}}

开始做,坚持做,重复做

JDK5的新特性之 增强for相关推荐

  1. JDK5.0新特性系列---目录

    JDK5.0新特性系列---目录 JDK5.0新特性系列---1.自动装箱和拆箱 JDK5.0新特性系列---2.新的for循环 JDK5.0新特性系列---3.枚举类型 JDK5.0新特性系列--- ...

  2. 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型

    一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) ...

  3. Java SE 6 新特性: HTTP 增强--转

    概述 Java 语言从诞生的那天起,就非常注重网络编程方面的应用.随着互联网应用的飞速发展,Java 的基础类库也不断地对网络相关的 API 进行加强和扩展.在 Java SE 6 当中,围绕着 HT ...

  4. JDK5.0新特性--可变参数

    2019独角兽企业重金招聘Python工程师标准>>> /*** 可变参数*/ public class VariableParamater {/*** 统计2个或多个数的和*/pu ...

  5. SQL Server 2008新特性——SSMS增强

    SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进: 1.在注册的服务器组中一次SQL查询可以针对多个服务器执行. 首先是要在&quo ...

  6. java 6 新特性_Java SE 6 新特性: HTTP 增强(转)

    Java 语言从诞生的那天起,就非常注重网络编程方面的应用.随着互联网应用的飞速发展,Java 的基础类库也不断地对网络相关的 API 进行加强和扩展.在 Java SE 6 当中,围绕着 HTTP ...

  7. oracle10g connect by,Oracle10g新特性如何增强的CONNECTBY子句?

    为了更好的查询一个树状结构的表,在Oracle的PL/SQL中提供乐一个诱人的特性--CONNECT BY子句.它大大的方便了我们查找树状表:遍历一棵树.寻找某个分支--,但还是存在一些不足.在Ora ...

  8. JDK 10 的新特性和增强功能

    JEP 286 局部变量推断: var 传统的 Java 代码中,声明一个变量是非常繁琐的: List<String> list = new ArrayList<String> ...

  9. VC++ 2010 MFC新特性学习 - 增强与Windows Shell的集成

    增强与Windows Shell的集成 MFC 与 Windows Shell 的集成也有所增强.通过使用Visual C++ 2010中增加的文件处理程序进行预览.创建缩略图和搜索,使我们的应用程序 ...

最新文章

  1. 超详干货!Linux 环境变量配置全攻略
  2. python语言培训班-学python培训班需要多久?深圳Python培训
  3. python创建float型的列表_如何在Python中进行列表的创建?
  4. RabbitMQ的消息确认ACK机制
  5. 如何改变cmd的编码格式?
  6. Linux系统/网络管理
  7. 使用Elasticsearch 构建 .NET 企业级搜索
  8. 大数据(big data)_如何使用Big Query&Data Studio处理和可视化Google Cloud上的财务数据...
  9. dd var tmp .oracle,Oracle 11gR2 RAC ohasd failed to start 解决方法
  10. Spring框架中级联赋值(外部属性注入)以及内部属性注入
  11. 数据库是.frm,.myd,myi备份如何导入mysql (转)
  12. IntelliJ IDEA 打包Maven 构建的 Java 项目
  13. 在xcode中用oc实现计算器
  14. autojs字符串中提取数字
  15. 游戏开发——Gris日志 day01
  16. EAN校验码的计算方法
  17. 依图科技:多个人工智能应用领域达到全球领先水平 | 百万人学AI评选
  18. 论文笔记——Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
  19. python写自动答题脚本_编写Python脚本拉取优学院答案
  20. nlp-Embedding

热门文章

  1. 写python脚本管理_Python 文件管理实例详解
  2. 新手常见的python报错及解决方案
  3. java 学习之List 的 add 与set方法区别
  4. java连接mysql数据库增删改查操作记录
  5. 租客如何玩转物联网,打造智能新生活
  6. 一步步实现 Redis 搜索引擎 1
  7. 谁说固态硬盘没容量?4TB诞生、明年8TB!
  8. sql查询时的左连接,右连接,和内连接详细解释
  9. 数据结构概念及连续存储数组的算法演示
  10. 模板 - 数论 - 整除分块