Java编程思想-11章 · 练习29
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时出错。
是不是这样理解的? 求指正? 谢谢大家 --------------------编程问答--------------------
楼主看是的学会看看出错信息啊 can not to cast to Comprable .....
看看JDK的API文档
public class PriorityQueue<E>extends AbstractQueue<E>implements Serializable一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。优先级队列不允许使用 null 元素。依靠自然顺序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。
--------------------编程问答-------------------- 谢谢! @kiritor --------------------编程问答-------------------- 1楼正解
lz也在看thinking in java这本书真不错!不过光看书是不够的,要多看源码! --------------------编程问答--------------------
嗯! 谢谢! --------------------编程问答-------------------- 对于认真的朋友总要顶一下!!! --------------------编程问答--------------------
补充:Java , Java SE