java - 如何使用Java泛型返回不同的POJO

标签 java generics pojo

我想要一个方法来返回不同类型的列表。

我尝试了类似以下的方法,但不确定这种方法是否正确。我怎样才能做到这一点?

public <T> List<T>  getPageDetails(Long adId,String source);

根据源代码,我将在实现方法中返回不同的对象列表。

就像在实现中一样,如果源为 1,则必须返回对象类型 1 的列表,如果源为 2,则必须返回对象类型 2 的列表,依此类推。

最佳答案

private Object objT;

public <T> List<T> magicalListGetter(Class<T> cls) {
    List<T> list = new ArrayList<>();
    list.add(cls.cast(actuallyT));
    try {
        list.add(cls.getConstructor().newInstance()); // If default constructor
    } ...
    return list;
}

也可以为方法提供泛型类型参数。您已经正确地推断出需要正确的类实例来创建事物(cls.getConstructor().newInstance())。

不上课:

public <T> List<T> magicalListGetter() {
return new ArrayList<T>();
}

关于java - 如何使用Java泛型返回不同的POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44366644/

相关文章:

java - 按多列对数组进行排序

java - 填写网站中的 PHP/HTML 字段

java - 如何使用 hibernate 基于位掩码值获取记录?

Swift 泛型和扩展需要锻炼

java 将 POST 表单数组转换为 JSON 对象或 POJO 或 map

java - Flink readCsvFile 方法与 pojoTypes

java - 无法在 macOS 上打开文件 - FileNotFoundException,不允许操作

java - 如何在java中继续使用泛型

ios - 将泛型类作为参数传递给 swift 中的函数

hibernate - hibernate 映射失败 : An association from the table X refers to an unmapped class Y