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

时间:2015-02-20 18:19:54

标签: java generics warnings unchecked

我是使用Java Generics的新手,我想知道如何摆脱未经检查的方法警告。我知道像这样的代码指定了通用对象的类型,并没有给我警告:

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

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

DTRowData moreData = new DTRowData(80100);

这段代码对我来说更有意义,因为看起来使用泛型的一个很好的理由是,如果你不知道你将要获得什么类型的数据。但它给了我警告:&#34;未选中调用DTRowData作为原始类型DTRowData的成员&#34;

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

@SuppressWarnings("unchecked")

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

public class DTRowData<E> {
    public E someValue;

    public DTRowDate(E someValue){
        this.someValue = someValue;
    }
}

1 个答案:

答案 0 :(得分:3)

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

所以你可以按如下方式使用泛型:

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