偶对转换、对象的基本概念还是不太了解,谢谢指教!Object obj=new Integer(0);
obj=(Object)obj;
if(obj instanceof Integer) System.out.println("Integer");
else System.out.println("Object");

解决方案 »

  1.   

    这都不用想,肯定是输出Integer啊,obj = (Object) obj;这一句一点意义都没有。智能一点的编译器应该都会直接忽略掉。
      

  2.   

    obj是new Integer(0)这个对象的别名 实际上还是这个对象。
      

  3.   

    父类Object 指向了自己的子类对象 Integer 如果爸爸(obj) 包含了(instanceof)  儿子(Integer) 那么就输出  。。
      

  4.   

    首先这句话肯定没意义 obj=(Object)obj;
    如果你要看到强转,可以这样
    Integer i=new Integer(0);
    Object obj=(Object)i;
    if(obj instanceof Integer) System.out.println("Integer");
    else System.out.println("Object");但不管怎样,强转仅仅是引用类型发生变化(你是中国人,现在给你换个称呼地球人。然后判断你这个地球人是不是中国人,其实你还是你啊,不是吗),存储的数据结构并没有变化
      

  5.   

    万分感谢各位的热心帮助!
    特别是hepfei90,谢谢!