zoukankan      html  css  js  c++  java
  • IllegalStateException

    例1

    public static void main(String[]sdf){
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            Iterator<String> it = list.iterator();
            if(it.hasNext()){
                it.remove();
            }
            System.out.println(list.toString());
        }

    Console:

    Exception in thread "main" java.lang.IllegalStateException
    at java.util.ArrayList$Itr.remove(Unknown Source)

    例2

    public static void main(String[]sdf){
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            Iterator<String> it = list.iterator();
            if(it.hasNext()){
                it.next();
                it.remove();
            }
            System.out.println(list.toString());
        }

    Console:

    [2, 3, 4]

    例3

        public static void main(String[]sdf){
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            Iterator<String> it = list.iterator();
            if(it.hasNext()){
                it.next();
                it.next();
                it.remove();
            }
            System.out.println(list.toString());
        }

    Console:

    [1, 3, 4]

    例4

    public static void main(String[]sdf){
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            Iterator<String> it = list.iterator();
            if(it.hasNext()){
                it.next();
                it.remove();
                it.remove();
            }
            System.out.println(list.toString());
        }

    Console:

    Exception in thread "main" java.lang.IllegalStateException
    at java.util.ArrayList$Itr.remove(Unknown Source)

    附:

    remove

    void remove()
    从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。
    抛出:
    UnsupportedOperationException - 如果迭代器不支持 remove 操作。
    IllegalStateException - 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了remove 方法。
  • 相关阅读:
    centos设置系统时间
    ubufntu 11.10启动不了nautilus的问题解决
    centos中用crontab定时执行java程序
    试用ubuntu里画流程图,架构图工具
    内嵌在客户端的网页出现刷新问题
    lenovo e23在ubuntu下打开无线网卡的办法
    mysql workbench for ubuntu测试
    有关Java多态
    我是程序猿,一个新的开始......
    有关数组的几种排序
  • 原文地址:https://www.cnblogs.com/zno2/p/4495204.html
Copyright © 2011-2022 走看看