List<Object> list=new ArrayList<String>();
为什么它会提示不能由String转成Object呀`
Object不是所有的父类吗````````

解决方案 »

  1.   

    哦如果一切ok,那么接下来list.add应该add啥类型呢?
      

  2.   

    List<?> list=new ArrayList<String>();
      

  3.   

    List<Object> list=new ArrayList<String>();
    而且这种用法也不符合逻辑。。
      

  4.   

    List<Object> list=new ArrayList<String>();  明显是错误的,<>里面必须类型一摸一样,这是编译时保护,觉得楼主应该去看看泛型的概念了  但是你这个代码如果那么写就对的:
    List<Object> list=new ArrayList<Object>(); 
    list.add(new String("try"));
      

  5.   

    列表在实例化时,"< >"中应该明确指明要存储的对象类型的,要存储字符串类型的话,为什么不直接写成
    List<String> list = new ArrayList<String>();呢?
      

  6.   

    A类是B类的父类,可以用A类型引用指向B类对象,但对于泛型不存在这种关系,
    正如你写的List<Object> list = new ArrayList<String>();就是不正确的
    泛型类只是针对编译器而才,虚拟机中不存在泛型。
    编译器在编译源码时会将泛型类erase,替换成确切的类型。
    如果你想用任意类型接收,可以用泛型通配符?
      

  7.   

    List是ArrayList的父类型<>内的东西没有父子关系之说。这个不同于数组
      

  8.   

            List list0 = new ArrayList<String>();
            List<Object> list = list0;
    可以通过。这是编译器的原因。知道就行了。不用深究。