首页 > 学院 > 开发设计 > 正文

JDK5的新特性之 增强for

2019-11-14 22:57:55
字体:
来源:转载
供稿:网友
JDK5的新特性之 增强for

 

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);        }        }            }}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表