这样的一段代码:
public void Insert(Item item){
ListIterator ins = m_Data.listIterator();
if(Search(item, ins)){
((Item)ins).m_nDF += item.m_nDF;
((Item)ins).m_nTF += item.m_nTF;
}else{
Item pItem = new Item(item);
m_Data.add(pItem);
}
}
protected boolean Search(Item pitem, ListIterator it{ while(it.hasNext()){
Item iitem = (Item)it.next();
if(iitem.Word.compareTo(pitem.Word) == 0){ //找到
return true;
}
}
return false;
}
第四行,在编译的时候正确,在运行时报错....
public void Insert(Item item){
ListIterator ins = m_Data.listIterator();
if(Search(item, ins)){
((Item)ins).m_nDF += item.m_nDF;
((Item)ins).m_nTF += item.m_nTF;
}else{
Item pItem = new Item(item);
m_Data.add(pItem);
}
}
protected boolean Search(Item pitem, ListIterator it{ while(it.hasNext()){
Item iitem = (Item)it.next();
if(iitem.Word.compareTo(pitem.Word) == 0){ //找到
return true;
}
}
return false;
}
第四行,在编译的时候正确,在运行时报错....
如果我没猜错的话,异常叫ClassCastException 如果不是 ClassCastException
那么就在
if(iitem.Word.compareTo(pitem.Word) == 0){ //找到
有错看看吧!
/**
* Thrown by the <code>nextElement</code> method of an
* <code>Enumeration</code> to indicate that there are no more
* elements in the enumeration.
*
* @author unascribed
* @version 1.20, 01/23/03
* @see java.util.Enumeration
* @see java.util.Enumeration#nextElement()
* @since JDK1.0
*/
public
class NoSuchElementException extends RuntimeException {