当前位置:  开发笔记 > 编程语言 > 正文

如何参数化扩展集合

如何解决《如何参数化扩展集合》经验,为你挑选了1个好方法。

我一直试图扩展ArrayList类没有太大的成功.我想扩展它,并能够参数化它.

通常你有类似的东西

ArrayList list = new ArrayList();

我想要

MyList list = new MyList();

简单地扩展ArrayList不起作用.

public class MyList extends ArrayList ...

当我尝试使用它时,我得到了错误

MyList类型不是通用的; 它不能使用参数进行参数化

我尝试过变种

public class MyList extends ArrayList
public class MyList extends ArrayList


没有成功,如果我使用类名后面的子对象它似乎工作,但由于某种原因隐藏子对象类中的方法.

任何有关如何使这项工作正常的想法或建议都值得赞赏.



1> Adam Jaskiew..:

您需要为ArrayList's type参数指定一个类型.对于泛型类型参数,这T是相当常见的.由于编译器不知道是什么T,因此需要添加一个类型参数,MyList以便传入类型.因此,您得到:

public class MyList extends ArrayList

此外,您可能需要考虑实现List和委派给ArrayList,而不是继承自ArrayList."赞成对象组合而不是类继承.[ Design Patterns pg.20]"

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有