java - 使用 T 类扩展 ArrayList<T> 的方法

标签 java android arraylist extends

不确定标题是否有意义,我会尽力解释。我有一个扩展 ArrayList 的 CustomList,假设 T 是 A1 类和 A2 类,它们都扩展了 A 类,这是一个自定义类。

我需要这样做:

public class CustomList<T> extends ArrayList<T>
{
    public CustomList()
    {
        super();
    }

    public boolean add(T obj)
    {
        /*The method getCustomBoolean() is not defined for the type T*/
        if(obj.getCustomBoolean())
        {
            super.add(obj);
        }

        return true;
    }
}

getCustomBoolean() 方法是一个A 类 方法,并且仅对A1A2 使用此CustomList >,我确定 obj.getCustomBoolean() 不会导致异常。

我需要一种方法来指定 T 是 A 的子类。

最佳答案

将类(class)的第一行更改为此。

public class CustomList<T extends A> extends ArrayList<T>

指定 T 可以是 A 的子类型的任何类型。它将允许您在类代码中的 T 对象上使用类型为 A 的方法。

关于java - 使用 T 类扩展 ArrayList<T> 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23239393/

相关文章:

java - HQL - 两个相同的查询 - 对象类型的差异

java - 来自非 Activity 类的处理程序

java - 具有一对一关系的 JPA @JoinColumn 注释

android - 如何使用内容提供者添加限制条款

android maps异步加载覆盖项

java - 在 Java 中使用递归填充 Arraylist

android - 如何在 android 中共享 ArrayList 数据

java - Microbreaks - java swing 工具

Java Tic Tac Toe 错误

java - 如何在主 Activity 的一个回收器 View 中显示 2 个适配器?