classA {}
class B extends A {}
class C extends A {}
class D extends B {}
Which three statements are true? (Choose three.)
A. The type List<A> is assignable to List.
B. The type List<B> is assignable to List<A>.
C. The type List<Object> is assignable to List<?>.
D. The type List<D> is assignable to List<? extends B>.
E. The type List<? extends A> is assignable to List<A>.
F. The type List<Object> is assignable to any List reference.
G. The type List<? extends B> is assignable to List<? extends A>.
Answer: CDG为什么选这几个,为什么A不对

解决方案 »

  1.   

    A. The type List <A> is assignable to List. 
     意思是List<A>可指定为List,关键是理解这句英文的意思 
     明显不对!List 容器可以存放任何对象的引用,而List<A>只能存放A及其子类的引用
      

  2.   

    assignable 应该是“可赋值”的意思吧。
      

  3.   


    可指定,可赋值,差不多,它要表达的意思,用符号表示 list <A> =List Object ;
      

  4.   

    昨晚刚整理了一份BLOG,新章节的,估计可以帮你派上用场:
    Java中的集合、枚举、泛型【下】
    http://blog.csdn.net/silentbalanceyh/archive/2009/09/24/4586627.aspx
    你可以参考一下