java - 如何表明泛型类是从一个类或另一个类扩展而来的?

标签 java class

嗨,我有下一个类

public class ApiResponse<T extends ApiResponseData > 

何时 TApiResponseData 的一种类型,但有时我收到的是列表而不是对象,在这种情况下我需要 TApiResponseData 开始扩展或List<ApiResponseData>怎么能做到这一点?

我的尝试

public class ApiResponse<T extends ApiResponseData || T extends List<ApiResponseData>> 

最佳答案

我认为您对泛型类型参数的用途存在根本性的误解。为什么您认为需要更改类型参数以适应列表?

为什么这样的东西还不够?

class ApiResponse<T extends ApiResponseData>
{
    final List<T> data;

    ApiResponse(T datum)
    {
        data = Collections.singletonList(datum);
    }

    ApiResponse(List<T> data)
    {
        this.data = data;
    }
}

关于java - 如何表明泛型类是从一个类或另一个类扩展而来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651249/

相关文章:

java - JVM 将内存发送回操作系统

java - Eclipse - 导入 j2me 项目

java - 多维多项式回归(最好是 C/C++、Java 或 Scala)

java - 自动将构造的每个 Class 对象添加到 ArrayList 中

c++ - 通过变量使用对象和对象函数

java - 一种存储用户访问权限的方法

java - 如何防止Java将XML文件中的 "&"改为 "&amp;"

python - 通过列表引用类实例

C++:定义类函数的 .cpp 文件中实例本身的表示关键字

c# - 创建用于获取变量值的函数