java - 如何在接口(interface)中定义一个方法,该方法可以返回任何类型的列表,而不引发未经检查的赋值警告?

标签 java generics

我有一个这样的界面:

public interface Data<T> {
    List<T> getData();
}

接口(interface)的实现:

public class HealthData implements Data {

    public List<HealthDataEntry> getData() {

            // Do something
    }
}

当我调用该方法时,我收到未经检查的分配警告:

Data data = new HealthData();
List<HealthDataEntry> healthData = data.getData()   //Unchecked assignment warning thrown here

它可以工作,但警告很烦人,你能建议我如何解决这个问题吗?

最佳答案

public class HealthData implements Data<HealthDataEntry>

还有

Data<HealthDataEntry> data = new HealthData();

否则您将使用原始类型。

关于java - 如何在接口(interface)中定义一个方法,该方法可以返回任何类型的列表,而不引发未经检查的赋值警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50079017/

相关文章:

java - repaint() 不再工作

java - 如何在 this(...) 或 super(...) 之前编写 "insert"代码?

java - 主线程中的异常 java.util.NoSuchElementException

java - 获取继承泛型方法的返回类型

java - 如何在 Mysql 数据库中建模 java.time.duration

java - JFormattedTextField 接受不同位数的数字

c# - 当我比较一个对象(类型)时,它是否使用特定类的 IEquatable?

java - 访问泛型类型的静态字段

java - Flink Gelly 扩展边缘类并在 DataSet 中使用它

ios - 通用协议(protocol) Swift 4 错误