Выскакивает generic array creation в Iterator (java)

158
18 ноября 2020, 03:00

Задача состоит в том, чтобы сделать коллекции ArrayList, LinkedList по-своему. Я их сделал. Потом придумал сделать так чтобы они еще и в forech работали. Начал читать по Itrable. Свой ArrayList как-то сделал, а в LinkedList начала высскакивать ошибка generic array creation. Не знаю как с ней справиться.

Вот код: *Iterator

 @Override
public Iterator<T> iterator() {
    final Node[] node = new Node[]{first};
    return new Iterator<>() {
        @Override
        public boolean hasNext() {
            return node[0].next != null;
        }
        @Override
        public T next() {
            T element = (T) node[0].data;
            node[0] = node[0].next;
            return element;
        }
    };
}
  • Node

    class Node {
    private Node next, prev;
    private Object data;
    Node(T data, Node next, Node prev) {
        this.data = data;
        this.next = next;
        this.prev = prev;
    }
    void setNextLink(Node next) {
        this.next = next;
    }
    void setPrevLink(Node prev) {
        this.prev = prev;
    }   
    }
    
Answer 1

У вас нет правильного конструктора Node. Я не знаю, что у вас является first, допустим, это ваш объект, тогда вам надо сделать такой конструктор

Node(){}
Node(Object data) {
    this();
    this.data = data;
}
READ ALSO
&ldquo;Build number&rdquo; в андроид Java

“Build number” в андроид Java

Подскажите, как в андроид Java получить версию прошивки "Build number", которая отображается в "О телефоне"Нигде не могу найти

144
Как сделать такую анимацию волны?

Как сделать такую анимацию волны?

Как сделать такую анимацию волны, как в примере? По коду не могу понять толком, что тут происходитМожет кто-нибудь знает какой-нибудь урок,...

183
Three.js Изменение текстуры

Three.js Изменение текстуры

Как можно изменить текущую текстуру (установил программно) у 3d объекта, используя textureObjLoader?

178