Понимание глюона Ignite Лямбда-идиома

Я настроил JavaFX Gluon Project с помощью плагина Eclipse Gluon и попытался запустить Gluon Ignite ( Gluon Ignite; в основном, оболочку, позволяющую использовать CDI в JavaFX) с использованием Dagger.

В руководстве я нашел следующее лямбда-выражение Java 8 для создания объекта DaggerContext:

private final DaggerContext context = new DaggerContext(this, () -> Arrays.asList(new DaggerModule()));

Это немного смущает меня, так как я совсем новичок в лямбда-выражениях. Хотя, если бы он работал безупречно, я бы, наверное, не задавал этот вопрос - но это не так;) Eclipse сообщает

Конструктор DaggerContext(GluonApplication, () -> {}) не определен

Так может кто-нибудь рассказать мне шаг за шагом, что там происходит? Возможно, консервативная версия кода поможет понять ее немного лучше.

Я знаю, что подобные лямбда-выражения используются в качестве краткой формы для создания объектов анонимных классов. Поэтому, глядя на конструктор DaggerContext, я вижу, что выражение () -> Arrays.asList(new DaggerModule()) должен создать объект с типом Supplier<Collection<Object>>, но это, очевидно, не работает.

--- ОБНОВИТЬ ---

Проблема была просто простой проблемой импорта. Я должен был добавить import java.util.Arrays; устранить ошибку. Силл, было бы неплохо, если бы кто-то мог дать какое-то дальнейшее объяснение лямбда-выражения.

0 ответов

Другие вопросы по тегам