当前位置:编程学习 > JAVA >>

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时出错。

是不是这样理解的?  求指正? 谢谢大家 --------------------编程问答--------------------
引用 楼主 fuck51cto 的回复:
 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这本书真不错!不过光看书是不够的,要多看源码! --------------------编程问答--------------------
引用 3 楼 FirstHelloWorld 的回复:
1楼正解 
lz也在看thinking in java这本书真不错!不过光看书是不够的,要多看源码!


嗯! 谢谢! --------------------编程问答-------------------- 对于认真的朋友总要顶一下!!! --------------------编程问答--------------------
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,