我正在尝试对实现 Iterable 的类进行测试。当我去测试任何方法时,在 itorator 类中,比如 hasNext()、next()。所以当我调用 list.itorator().Next(); 没有任何反应,该节点是列表中的当前节点而不是下一个。但是当我做 ListIterator itrList = new ListIterator(list); 它里面的代码有效。我正在调用 public Iterator iterator() {return new ListIterator (this); 那么我没有正确/掌握什么?谢谢你的帮助。
public void test6() {
List<String> list = new List<String>();
list.addAfterCurrent("1");
list.addAfterCurrent("2");
list.addAfterCurrent("3");
ListIterator itrList = new ListIterator(list);
TextIO.putln(list.iterator().next()); // output is 1
TextIO.putln(list.iterator().next()); // output is 1
TextIO.putln(itrList.next()); // output is 1
TextIO.putln(itrList.next()); // now output is 2
assertEquals("1", list.getCurrent());
assertEquals(3, list.size());
}