泛型&类型

时间:2011-10-01 20:09:41

标签: java generics arraylist

我在某种数据结构中使用泛型。我必须存储int xint yValue value,其中value是通用类型。

我试图将所有这些组合在一个名为NodeData的对象中,然后在另一个类中创建一个NodeData的ArrayList,(因此数组列表中的每个元素都包含一个x ,y和价值。

我的NodeData如下:

public class NodeData<Value> {

    private int x;
    private int y;
    private Value value;

在另一个类中,数组列表实例化如下:ArrayList<NodeData> items = new ArrayList<NodeData>();

我收到的数组列表出错了:NodeData is a raw type. References to NodeData<Value> should be parametrized.为什么会这样? NodeData已经被参数化为NodeData<Value>

由于

2 个答案:

答案 0 :(得分:4)

不在您的数组声明中。试试这样:

List<NodeData<Foo>> list = new ArrayList<NodeData<Foo>>();

其中Foo是您为该实例所需的Value类型。

答案 1 :(得分:2)

在另一个类中,您必须指定要使用的类型来代替泛型类型Value

例如。

ArrayList<NodeData<String>> items = new ArrayList<NodeData<String>>();.