List<List<Object>和List<List<? extends Object>>分别作为返回值类型有什么区别?
我现在想把所有以后者作为返回值类型的函数的返回值变为前者,有影响吗?

解决方案 »

  1.   

    有影响,后者可以接受Object的所有子类的对象,而前者只能接受Object对象。
      

  2.   

    可以讲的详细点吗?接受到Object对象,然后可以强制转为任何Object子类的类型的对象,这样和接受子类对象有什么区别吗?
      

  3.   

    虽然结果相同,但是语义毕竟不同,而且如果是教材的话,Object通常是泛指所有类
      

  4.   

    List <Object>
    这个list可以放所有类,包括Object
    List <? extends Object>
    这个list可以放除了Object的所有类
      

  5.   

    List <? extends Object> 
    这个list应该也可以放置object
      

  6.   

    我觉得也可以放Object,所以我不知道如果用后者有什么好处?
      

  7.   

    前者是List是Object类型,而后者的List是Object的子类型
    是有影响的
      

  8.   

    前者不只是能接收object 对象吧,其他类作为object 的子类也能传入吧....