0

我在 Eclipse (Kepler) 中有一个项目,我在很多地方使用以下内容

AraryList<Person> person;

接着

person = new ArrayList<Person>();

甚至是返回和取走的方法

 ArrayList<Person>

有没有一种简单的方法可以将 ArrayList 重构为扩展 ArrayList 的 PersonArrayList 之类的东西?

我希望能够有一些方法,比如

ArrayList<People> getAllWithPhoneNumber(String phoneNumber) {

}

更新: 我提出问题的根本原因是基于以下需要。我在 ArrayList 中维护一个 People 对象列表,但我决定需要一些功能,例如能够搜索此列表并根据某些属性返回一个或多个人。我最初的计划是创建一个扩展 ArrayList 的新类并将方法添加到该类。

我目前的想法是创建一个具有 ArrayList 而不是扩展 ArrayList 的 People 类

我认为这是正确的做法。如果我走上一条坏路,请发表评论。

感谢所有的评论; 他们真的帮助我思考(我显然是所有这些东西的业余爱好者,但学习很有趣)

4

3 回答 3

2
class PersonArrayList extends ArrayList<Person>{}
于 2013-08-13T01:55:51.833 回答
1

我不认为糟糕的回报ArrayList<Person>可能会更好的是退回合同而不是具体实施替换为List<Person>

如果您仍然想拥有自己的类型,请创建一个类似的类。

class People{

List<Person> persons;

}

但是子类化到一个新PersonArrayList extends ArrayList<Person> 的是一个坏主意,因为你不是什么都不做,只是给它一个名字

于 2013-08-13T03:20:16.487 回答
0

你应该这样使用

List<List<Person>> getAllWithPhoneNumber(String phoneNumber) {
 //TODO: put code here
}
于 2013-08-13T01:57:43.177 回答