日期:2014-05-20  浏览次数:20876 次

一个关于LinkedList的问题,急
这样的一段代码:
        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;
        }


第四行,在编译的时候正确,在运行时报错....


------解决方案--------------------
((Item)ins).m_nDF += item.m_nDF;

m_nDF是不是基本类型或者String类型?

还有,什么错误信息?
------解决方案--------------------
search 方法应该返回Item,而不是boolean

((Item)ins).m_nDF

Iterator -- > Item能不错吗?
如果我没猜错的话,异常叫ClassCastException

如果不是 ClassCastException 
那么就在
if(iitem.Word.compareTo(pitem.Word) == 0){ //找到
有错

看看吧!