Как написать метод toString, используя узлы в Java

Он возвращает, может ли оператор оценивать значение false. например:

!false      // true
!true       // false
!isValid()  // is not valid

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

!!1    // true
!!0    // false

Итак, чтобы более точно ответить на ваш вопрос:

var myVar = !function(){ return false; }();  // myVar contains true

Редактировать: он имеет побочный эффект изменения объявления функции в выражении функции. Например. следующий код недействителен, поскольку он интерпретируется как объявление функции, в котором отсутствует требуемый идентификатор (или имя функции ):

function () { return false; }();  // syntax error
0
задан Adan Vivero 19 March 2019 в 20:51
поделиться

2 ответа

Я немного изменил ваш метод add () и метод toString ():

public void add(E value) {
    if (first == null) {
        first = new Node(value, null, null);
    } else {
        Node current = first;
        while (current.next != null) {
            current = current.next;
        }
        current.next = new Node(value, null, current);
    }
    size++;
}
public String toString()
{
    if (first == null)
    {
        return "[]";
    }
    else
    {
        String result = "[" + first.data;
        Node current = first.next;
        while (current != null)
        {
            result += ", " +current.data ;
            current = current.next;
        }
        result += "]";
        return result;
    }
}

И вот главное для проверки:

public static void main(String[] args) {
    DoublyLinkedList<Integer> list = new DoublyLinkedList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    System.out.println(list.toString()); // [1, 2, 3]
}
0
ответ дан Thinh Vo 19 March 2019 в 20:51
поделиться

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

@SuppressWarnings("unchecked")
public String toString()
{
    if (isEmpty())
    {
        return "[]";
    }
    else
        {
            String result = "[" + first.data;
            Node current = first.next;
        for(int i = 0; i < size-1; i++)
        {
            result += ", " + current.data;
            current = current.next;
        }
        result += "]";
        return result;
    }
}
0
ответ дан Adan Vivero 19 March 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: