Поток с Runnable с использованием лямбды [дубликата]

Для меня это было то, что

.setPriority(Notification.PRIORITY_HIGH);

, из-за чего уведомление не очищалось после щелчка ... убедитесь, что вы используете:

.setPriority(Notification.PRIORITY_DEFAULT);

И .setAutoCancel(true) должен работать.

0
задан KunLun 26 February 2019 в 13:16
поделиться

4 ответа

Да, это эквивалентно, доверься своей IDE!

Относительно нескольких конструкторов:

  • у вас ровно один аргумент конструктора -> две возможные реализации конструктора
  • - это () -> { //implement } a String? - нет -> только один возможный конструктор для вызова -> тот, для Runnable, который вы также можете вызывать самостоятельно.
0
ответ дан luk2302 26 February 2019 в 13:16
поделиться

Да, это похоже. Оба представления будут вызывать конструктор Thread(Runnable runnable) .

Более поздний код в вашем вопросе

() -> { //implement }

представляет собой лямбда-представление анонимного класса в предыдущем коде:

new Runnable() {
    @Override
    public void run() {
        //implement
    }
}
0
ответ дан Naman 26 February 2019 в 13:16
поделиться

Это похоже, но не совсем то же самое. Он ведет себя одинаково во всех обычных случаях. Некоторые методы обращаются к их стеку (trace). Это может дать разные результаты.

0
ответ дан TreffnonX 26 February 2019 в 13:16
поделиться

Да, это то же самое. Вы можете использовать лямбда-выражение, потому что интерфейс Runnable имеет аннотацию @FunctionalInterface.

0
ответ дан Donat 26 February 2019 в 13:16
поделиться
Другие вопросы по тегам:

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