Object s=objLL.get(i);
上面代码中的objLL是一个LinkedList对象。那么get方法的返回值是什么类型。为什么可以放在s里面

解决方案 »

  1.   

    你泛型里声明的它是什么类型返回的就是什么类型
    比如LinkedList<Integer> objLL
    那么get返回的就是Integer
    一切类都是Object当然可以向上转型为Object了...只不过要用到Integer的方法时需要强制转型
      

  2.   

    s只是一个引用,父类的引用指向派生类实例,这是Java常见的用法
      

  3.   

    返回值类型是一个对象,所有类都是Object的子类,所以可以赋值给Object的对象,然后你可以根据需要转换为自己类型的对象,这样做最主要是为了通用。
      

  4.   

    upcasting-向上转型因为继承结构中,一切对象都来自Object类。
      

  5.   

    因为OBJECT是所有类的父类,所以可以用OBJECT,向上转型是安全的嘛.
      

  6.   

    在LinkedList 没有声明什么类型的时候,这种是没声明 LinkedList objLL=new LinkedList();用objLL.get(index)返回的是object,就是所谓的泛型,如果想要转换成你所指定的类型的话需要这么写(指定类型)objLL.get(index)
    这种是声明了字符串链表 LinkedList <String> objLL=new LinkedList<String>(); objLL.get(index)返回的就是字符串了