在java中如何将Object类型的数转化为int型呢?
datastack.peek()为Object类型的,怎么样将栈顶的这个值转化为int型呢?很急,求各位高手的热心指点!

解决方案 »

  1.   

    Object是最顶层的类,它一定还会窄化成它的某个子类,这样才能根据具体情况进行转换啊,至少我是这么认为的。
      

  2.   

    Object->Integer->int这样子应该可以
      

  3.   

    ((Integer)(codestack.peek())).intValue()
    我是这么写的,编译倒是能够通过,但运行的时候会出现异常
    java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Integer
    出现这个异常
      

  4.   


    这说明peek函数返回的是Float类型的,不能强制转换成Integer类型
      

  5.   

    没有啊,栈中的元素确实都是Object类型的。
      

  6.   

    你这个类是Float类型的,现转成Float,再转成float,再转成int
      

  7.   

    谢谢各位了,好像可以了!
    经9楼大侠的提示:
    我写成(int)(((Float)(codestack.peek())).floatValue())
    就没问题了。谢谢了,非常感谢!
      

  8.   

    ((Float)codestack.peek()).intValue()
    这样就可以了
      

  9.   

    int k = ((Number)obj).intValue();
      

  10.   

    object-string-int  肯定可以  
      

  11.   

    谢谢   我改了下就可以了!我写成这样:int year=((Integer)cbyear.getSelectedItem());