IllegalStateException
2024-08-24 17:44:45
例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 方法。
最新文章
- 【设计模式】单例模式 c++实现
- arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法
- XE6 &; IOS开发之免证书真机调试(3):生成iPA文件并安装到其它苹果设备上(有图有真相)
- Linux移植的一般过程
- spring笔记2 spring MVC的基础知识2
- spring事务学习(转账案例)(一)
- centos 安装 openerp
- Android最佳性能实践(三)——高性能编码优化
- PHP 定时任务|Cron
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- 如何用boost::serialization去序列化派生模板类(续)
- javascript的框架演化
- 达内TTS6.0课件oop_day02
- Python元编程
- 【java集合系列】--- LinkedList
- 《剑指offer》字符串的排列
- iOS开发之资料收集
- 使用zlib库进行目录打包
- Solid Dominoes Tilings (轮廓线dp打表 + 容器)
- Unity 通过代码简单实现文理的灰化显示