<Head First Java> Page:545
public <T extends Animal> void takeThings(ArrayList<T> list){}
代表方法内所有Animal的子类或Animal的ArrayList都可以调用该方法。
public void takeThings(ArrayList<T> list){}
代表只有Animal的ArrayList可以调用该方法。
本文介绍了Java中泛型方法的两种不同定义方式及其调用限制。一种是限定泛型的类型必须是Animal或其子类,这使得方法可以接受Animal及其子类的ArrayList作为参数;另一种则是直接指定类型参数T,但没有进行限定,导致只有当类型参数T实际为Animal时,方法才能被调用。
<Head First Java> Page:545
public <T extends Animal> void takeThings(ArrayList<T> list){}
代表方法内所有Animal的子类或Animal的ArrayList都可以调用该方法。
public void takeThings(ArrayList<T> list){}
代表只有Animal的ArrayList可以调用该方法。

被折叠的 条评论
为什么被折叠?