Java编程思想-11章 · 练习29代码:
import java.util.*;
public class nullMethodNotvar {
public static void main(String[] args) {

PriorityQueue<extobj> prqueobj = new PriorityQueue<extobj>();
prqueobj.offer(new extobj());
prqueobj.offer(new extobj());
}  

static class extobj extends Object{}
}run result: java.lang.ClassCastException为强制类型转换异常,因为extobj继承Object
在尝试将Object转换为extobj时出错。是不是这样理解的?  求指正? 谢谢大家

解决方案 »

  1.   

    楼主看是的学会看看出错信息啊 can not to cast to Comprable .....
    看看JDK的API文档
    public class PriorityQueue<E>extends AbstractQueue<E>implements Serializable一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。优先级队列不允许使用 null 元素。依靠自然顺序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。 
      

  2.   

    1楼正解 
    lz也在看thinking in java这本书真不错!不过光看书是不够的,要多看源码!