java - 将 java.util.list 转换为 java.util.list 时出现编译器错误?

标签 java generics

我现在问这个问题感觉很菜鸟,但我不知道这是怎么回事

import java.util.List;
public class ListResponse<T> {

    private List<T> items;
    private Paging paging;

    public <T> ListResponse(List<T> items, Paging paging) {
        this.items = **items**;
        this.paging = paging;
    }

}

我在标记的项目参数上遇到编译器错误。错误是:

Type mismatch: cannot convert from java.util.List<T> to java.util.List<T>

你知道发生了什么吗?谢谢!

最佳答案

<T>定义为构造函数作用域,隐藏类作用域 <T>并且编译器将它们视为不同的类型。这就是您会收到编译时错误的原因。

只需去掉构造函数的类型参数:

public ListResponse(List<T> items, Paging paging) {
    this.items = items;
    this.paging = paging;
}

关于java - 将 java.util.list 转换为 java.util.list 时出现编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103405/

相关文章:

java - try-finally block 继续 for 循环

java - Maven 程序集 : including a file at the parent level of baseDirectory

Java换行选项

java - 是否可以从私有(private)内部类覆盖公共(public)方法?

java - 没有参数时如何获取泛型类?

Java 泛型 : Question Type parameters inference in Java

C# 通用继承解决方法

java - 如何在 vanilla Tomcat 上部署 Java EE 应用程序?

java - 帮助我使用通用数据类型

Django : Generic Foreign key dumpdata: Can't resolve dependencies