java - List<T> 是一个很好的返回集合吗?如何包装它并添加属性?

标签 java generics

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

你会推荐我使用 List<T> 吗?喜欢:

List<User> findAllUsers(...);

在我的数据库调用中,我想包装集合并创建一个 ResultList<T>继承List<T> (或您推荐我使用的任何通用集合)并向其添加一些属性,我该怎么做?

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

   // getter/setter
}

这是(以上)最好的方法吗?

最佳答案

我不一定会扩展 List<T> ,而是持有 List<T> 的一个实例, 因为我 prefer delegation over inheritance .

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

    // getter/setter
}

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

不过,实际上,您所拥有的应该能够很好地满足您的需求。这可能只会让将来更难改变。

关于java - List<T> 是一个很好的返回集合吗?如何包装它并添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8889844/

相关文章:

java - 如果用户输入只是数字或字母,如何使用 nextLine() 检查?

Java 8。泛型。使用原始类型。意外的类型转换

ios - 如何使用 CustomStringConvertible 和 RawRepresentable 组合类型指定函数参数的类型?

arrays - Typescript 泛型,获取数组内容的类型

c# - 为什么协变类型参数仅用于成员的返回类型?

java - 使用 Spring MVC 3 + Hibernate 更新持久对象的 "correct"或 "safe"方法是什么?

java - Java中如何将两个数组映射到一个HashMap?

generics - Swift 泛型 *= 运算符错误

java - JAXB 编码和泛型

java - Pointer[Float] 类型的表达式不符合 Scala 中预期的 Pointer[Float] 类型