在我的DAO类中,我返回一个实体列表。

您是否建议我使用List<T>像这样:

List<User> findAllUsers(...);

在我的数据库调用中,我想包装该集合并创建一个继承ResultList<T>List<T>(或您建议使用的任何通用集合)并为其添加一些属性,我该怎么做?
public class ResultList<T> extends List<T> {
   private int SomeThing;

   // getter/setter
}

这是最好的方法吗?

最佳答案

我不一定要扩展List<T>,而是像prefer delegation over inheritance那样保留List<T>的实例。

public class ResultList<T> {
    private List<T> backingList;
    private int SomeThing;

    // getter/setter
}

在这里,您可以定义自己的委托给后备列表的方法。

确实,您拥有的应该可以很好地满足您的需求。这可能会使将来的更改变得更加困难。

10-07 15:28