Ответ 1
Он не возвращает пустой список, он возвращает Unit
(нулевой кортеж), который является Scala эквивалентом void
в Java. Если он возвращает пустой список, вы увидите List()
, напечатанный на консоли, а не ()
(нулевой кортеж).
Проблема заключается в том, что вы используете неправильный синтаксис для вашего метода get
. Вам нужно использовать =
, чтобы указать, что get
возвращает значение:
def get() = {
this.queue.head
}
Или это, вероятно, еще лучше:
def get = this.queue.head
В Scala вы обычно оставляете круглые скобки (список параметров) для нулевых функций, которые не имеют побочных эффектов, но для этого требуется, чтобы вы оставили круглые скобки при вызове queue.get
.
Возможно, вам стоит взглянуть на Scala Руководство по стилю, в частности о методах.