当我不知道泛型对象的类型时,如何避免 Java 中未经检查的方法警告?



我是Java泛型的新手,我想知道如何消除未检查的方法警告。我知道像这样的代码指定了通用对象的类型,并且不会给我警告:

DTRowData<String> someData = new DTRowData<String>("Some string");

但我不知道我的通用对象的类型,所以我一直在写这样的代码:

DTRowData moreData = new DTRowData(80100);

这段代码对我来说更有意义,因为如果你不知道要返回什么类型的数据,那么使用泛型似乎是一个很好的理由。但它给了我一个警告:"未选中调用DTRowData作为原始类型DTRowData的成员"

当我不知道要返回什么类型的数据时,停止收到此警告的正确方法是什么?有时它是一个数字,有时是一个字符串。我宁愿不使用

@SuppressWarnings("unchecked")

如果有帮助的话,这是我的类代码:

public class DTRowData<E> {
    public E someValue;
    public DTRowDate(E someValue){
        this.someValue = someValue;
    }
}

在语句DTRowData moreData = new DTRowData(80100);中,您已经知道参数E的类型:它是从构造函数参数80100的类型推断出的整数。

因此,您可以按如下方式使用泛型类型:

 DTRowData<Integer> someData = new DTRowData<Integer>(80100);

最新更新