A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Demo4_Case {

        public static void main(String[] args) {
                List list = new ArrayList<>();
                list.add("a");
                list.add("b");
                list.add("world");
                list.add("c");
                list.add("d");
                //判断集合中是否包含world,如果有就添加javaee
                while(list.contains("world")){
                        list.add("javaee");
                }
                Iterator it = list.iterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }      //java.lang.OutOfMemoryError
        }

}

3 个回复

倒序浏览
while(list.contains("world")){
                        list.add("javaee");
                }
java.lang.OutOfMemoryError  的意思是:因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。
原因:判断集合中是否有"world",包含就一直添加,List集合是可以存储重复元素的,循环条件一直满足就一直添加,直到内存溢出
回复 使用道具 举报
biu 发表于 2016-3-31 13:31
while(list.contains("world")){
                        list.add("javaee");
                }

原来如此,多谢
回复 使用道具 举报
用if判断就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马