本帖最后由 theNo.1 于 2014-5-11 17:14 编辑
在学习集合的时候发现了一个奇怪现象。如下:
发现出现了死循环,一直输出 AAA
但是将 sop(li.next()) 这句注释去掉 ,发现 程序正常打印 al 集合中的数据
由此得出 :
1 . 在ListIterator 中 , hasNext() 方法,只判断下一个游标位置是否有元素存在,并没有发生游标的移动、
2 . 移动游标的是 next() 方法, 每移动一次返回一次当前游标的对象。
证明 : 加入一个for循环,循环 集合元素个数+2 次,用hasNext方法判断是否有 元素存在 。
可以看到,结果为true , 可是集合中明明只有四个元素啊。 所以,这充分证明了 使用 hasNext方法 ,游标根本没有发生移动 。
|