Дженерики и Типы - PullRequest
       25

Дженерики и Типы

1 голос
/ 02 октября 2011

Я использую дженерики в определенной структуре данных.Я должен хранить int x, int y и Value value, где value - универсальный тип.

Я пытаюсь сгруппировать все эти объекты в один объект с именем NodeData, а затем в другойclass, создайте ArrayList из NodeData, (поэтому каждый элемент в списке массивов будет содержать x, y и значение.

My 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 ]

4 голосов
/ 02 октября 2011

Не в вашем объявлении массива. Попробуйте это так:

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

где Foo - это тип Value, который вы хотите использовать для этого экземпляра.

2 голосов
/ 02 октября 2011

В другом классе вам нужно будет указать тип, который вы собираетесь использовать вместо универсального типа Value

например.

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