当前位置:  技术问答>java相关

这个Exception怎么扑足不到呀?

    来源: 互联网  发布时间:2015-10-01

    本文导语:  Object[] myarray={"hao","jin","abc",new Integer(3),                       new Double(3.0),null}; Collection c2=Arrays.asList(myarray); TreeSet set2=new TreeSet(c2);          Iterator it=set2.iterator();// print((Object)set2)无法打印输出,该用反复...


Object[] myarray={"hao","jin","abc",new Integer(3),
                      new Double(3.0),null};
Collection c2=Arrays.asList(myarray);
TreeSet set2=new TreeSet(c2);
        
Iterator it=set2.iterator();// print((Object)set2)无法打印输出,该用反复器

try{
     while(it.hasNext())
          System.out.print((Object)it.next()+"  ");
    }
catch(Exception e){print("ClassCastException");}

我定义了一个方法
   public static void print(Object o){
   System.out.println(o);
   }
调试结果:
       Exception in thread "main" java.lang.ClassCastException:   java.lang.String
        at java.lang.Integer.compareTo(Integer.java:913)
        at java.util.TreeMap.compare(TreeMap.java:1081)
        at java.util.TreeMap.put(TreeMap.java:459)
        at java.util.TreeSet.add(TreeSet.java:205)
        at java.util.AbstractCollection.addAll(AbstractCollection.java:315)
        at java.util.TreeSet.addAll(TreeSet.java:251)
        at java.util.TreeSet.(TreeSet.java:138)
        at TreeSetTest.main(TreeSetTest.java:44)

不知道问题到底出在哪,高手请教?谢谢

|
问题在这一行
TreeSet set2=new TreeSet(c2);

TreeSet是有序的集合
其中的元素必须可以比较,也就是说要实现java.util.Comparator接口
而你集合中的元素
Object[] myarray={"hao","jin","abc",new Integer(3),
                      new Double(3.0),null};
字符串是可比较的Integer,Double也可以比较
但TreeSet企图将null转变为java.util.Comparator时就会出错

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类exception的类成员方法: exception定义及介绍
  • 对于相同的Exception,如何分辨造成Exception的原因
  • java命名空间java.io接口objectstreamconstants的类成员方法: tc_exception定义及介绍
  • "B_FundMaster.java": Error #: 360 : unreported exception: java.lang.Exception; must be caught or declared to be thrown at line 6
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: exception_parameter定义及介绍
  • 怪怪的EXCEPTION声明
  • 请问a method能return an exception吗?能写个例子看看吗?
  • linux操作系统的异常类(exception)不支持标准c++?
  • exception-handler parameter表示什么?
  • unreported exception: java.lang.ClassNotFoundException
  • 请问java里能自己定义新的Exception吗?
  • Exception in thread "main"
  • 请问exception类中的方法printStackTrace()是做什么用的?
  • 如何将Exception.printStackTrace()显示出来的内容存到String变量中
  • 这个错误是什么原因Exception in thread "main" java.lang.NoClassDefFoundError:
  • Applet报错:Exception:java.lang.NullPointerException
  • java运行exception问题,急!!!
  • exception in thread main???
  • 关于运行JAVA exception in thread "mian"
  • 为什么会是:) Runtime Exception ,有些看不懂:(
  • 如何熟悉Exception的种类?完全通过学习API的document?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3