爱问知识人 爱问教育 医院库

关于java泛型的问题

首页

关于java泛型的问题

关于java泛型的问题,程序抛出ClassCastExceptio异常共有4个类,分别是Huffman,Tree,Data,Client,其中Tree实现了查找二叉树的一些基本功能,类定义如下publicclassTree<TextendsComparable<?superT>>,在Client中,对程序进行测试,publicclassClient{publicstaticvoidmain(Stringargv[]){List<Data<Character>>mysouce=newArrayList<Data<Character>>(5);Data<Character>tempData;tempData=newData<Character>('a',0.35);mysouce.add(tempData);tempData=newData<Character>('b',0.1);mysouce.add(tempData);tempData=newData<Character>('c',0.2);mysouce.add(tempData);tempData=newData<Character>('d',0.2);mysouce.add(tempData);tempData=newData<Character>('_',0.15);mysouce.add(tempData);Huffman<Data<Character>>mytree=newHuffman<Data<Character>>(mysouce);mytree.getHuffmanTree();}Data类如下publicclassData<T>implementsComparable<Data<T>>{Tdata;doublep;publicData(Tdata,doublep){this.data=data;this.p=p;}@OverridepublicintcompareTo(Data<T>o){//TODOAuto-generatedmethodstubif(this.p-o.p>0)return1;elseif(this.p-o.p<0)return-1;elsereturn0;}}Huffman类如下:importjava.util.List;importjava.util.PriorityQueue;publicclassHuffman<TextendsComparable<?superT>>{privateList<T>src;publicHuffman(List<T>src){this.src=src;}publicTree<T>getHuffmanTree(){PriorityQueue<Tree<T>>myqueue=newPriorityQueue<Tree<T>>();Tree<T>tempTree;for(inti=0;i<src.size();i++){tempTree=newTree<T>();tempTree.addElement(src.get(i));myqueue.add(tempTree);//这里会抛出异常}for(Tree<T>)System.out.println(see.getData());returnnull;}}运行时抛出的异常如下Exceptioninthread"main"java.lang.ClassCast (UnknownSource)atjava.util.PriorityQueue.siftUp(UnknownSource)atjava.util.PriorityQueue.offer(UnknownSource)atjava.util.PriorityQueue.add(UnknownSource)atHuffman.getHuffmanTree(Huffman.)atClient.main(Client.)无编译错误,但总是抛出如上异常

提交回答
好评回答
  • 2011-11-24 07:28:23
    Tree cannot be cast to java.lang.Comparable 
    告诉你的你的Tree类没有实现java.lang.Comparable 
    在实现接口中增加该接口就行了

    好***

    2011-11-24 07:28:23

其他答案

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):