Что означает оператор стрелка -> в Kotlin? Эквивалент в Java

196
14 июля 2018, 02:40

Всем привет! Подскажите плиз! Пытаюсь разобрать один паттерн, пример использования Android Architecture Components, написанный на Koltin'e и столкнулся с синтаксисом, который не могу понять.

Что в данном синтаксисе означает эта "стрелка" -> ? Как этот код будет выглядеть в Java? Спасибо огромное

override fun onResume() {
    super.onResume()
    firebaseDatabaseLiveData.observe(this, Observer { articles -> adapter.setArticles(articles)
        }
    })
}

Как этот код будет выглядеть в Java?

@Override 
    public void onResume() {
        super.onResume();    
        firebaseDatabaseLiveData.observe(this, //... а вот дальше непонятно
        });
    }
Answer 1

В Java на этом месте может быть как лямбда-выражение

firebaseDatabaseLiveData.observe(this, articles -> adapter.setArticles(articles));

так и ссылка на метод

firebaseDatabaseLiveData.observe(this, adapter::setArticles);
READ ALSO
Не читает русский язык

Не читает русский язык

Работаю с файлами, мой код:

304
БД ФИАС импорт xml в Postgres

БД ФИАС импорт xml в Postgres

Доброго времени суток

577
AES шифрование. QR-код

AES шифрование. QR-код

Есть задача: из зашифрованнх данных с помощью алгоритма шифрования (AES например) сгенерирован QR-кодНужно создать Android-приложение для считывания...

343
Кто может помочь, что за ошибка?

Кто может помочь, что за ошибка?

Кто может помоч, что за ошибка?

211