Size: a a a

Programming Offtop

2020 June 10

QH

Quantum Harmonizer in Programming Offtop
Кирилл Романенко
Для обратной совместимости с джавой, чтобы можно было использовать лямбды вместо  интерфейсов с 1 методом
object : IFoo {
}
что значит «вместо»? Тип лямбды — всегда интерфейс
источник

I

Igor in Programming Offtop
Кирилл Романенко
Ну котлин будет интерпретировать джава интерфейсы с 1 методом как fun interface. А самому тебе такое писать не надо
а если напишу, что будет?
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
а если напишу, что будет?
Ну будет то, что на скриншоте
источник

КР

Кирилл Романенко... in Programming Offtop
Ну и тимлид по рукам даст, наверное
источник

I

Igor in Programming Offtop
чет какая-то х_евое расширение синтаксиса, на крайняк могли бы аннотацию придумать
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
чет какая-то х_евое расширение синтаксиса, на крайняк могли бы аннотацию придумать
Ну значит не смогли
источник

КР

Кирилл Романенко... in Programming Offtop
Igor
чет какая-то х_евое расширение синтаксиса, на крайняк могли бы аннотацию придумать
Чё ты жалуешься, классно же
источник

КР

Кирилл Романенко... in Programming Offtop
Избавимся от object : IFoo
источник

QH

Quantum Harmonizer in Programming Offtop
не, на самом деле SAM-интерфейсы нужны, чтобы не боксить примитивы (а в дженеричными FunctionX это происходит)
источник

VP

Vladimir Petrakovich in Programming Offtop
Igor
а зачем для этого писать fun перед interface?
Для совместимости, наверное, чтобы в существующем коде неоднозначностей не появилось.
Лучше бы сразу это сделали 😒
источник

QH

Quantum Harmonizer in Programming Offtop
Quantum Harmonizer
не, на самом деле SAM-интерфейсы нужны, чтобы не боксить примитивы (а в дженеричными FunctionX это происходит)
(а вот нужна ли для этого отдельная языковая фича — большой вопрос)
источник

КР

Кирилл Романенко... in Programming Offtop
Quantum Harmonizer
(а вот нужна ли для этого отдельная языковая фича — большой вопрос)
Эта фича нужна для андроида
источник

QH

Quantum Harmonizer in Programming Offtop
Кирилл Романенко
Эта фича нужна для андроида
конкретнее?
источник

QH

Quantum Harmonizer in Programming Offtop
я совершенно не понимаю, при чём здесь андроид
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
а зачем для этого писать fun перед interface?
Для обратной совместимости, конечно же. У тебя щас может жить два перегруженных метода, один с интерфейсом, второй с лямбдой а качестве параметра. Если б SAM ввели без софт кейворда, этот код был бы сломан.
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
чет какая-то х_евое расширение синтаксиса, на крайняк могли бы аннотацию придумать
Ну фиг знает, сделали именно soft keyword, в духе с другими подобными модификаторами. Не вижу, чем аннотация была бы лучше.
источник

КР

Кирилл Романенко... in Programming Offtop
Quantum Harmonizer
я совершенно не понимаю, при чём здесь андроид
Ну у нас достаточно много мест, где требуется объект интерфейса с 1 методом
источник

QH

Quantum Harmonizer in Programming Offtop
Кирилл Романенко
Ну у нас достаточно много мест, где требуется объект интерфейса с 1 методом
всякие setOnClickListener? Там джавовый интерфейс, SAM и так работает
источник

I

Igor in Programming Offtop
Andrew Mikhaylov
Для обратной совместимости, конечно же. У тебя щас может жить два перегруженных метода, один с интерфейсом, второй с лямбдой а качестве параметра. Если б SAM ввели без софт кейворда, этот код был бы сломан.
ой костыли, ну ок
источник

КР

Кирилл Романенко... in Programming Offtop
Quantum Harmonizer
всякие setOnClickListener? Там джавовый интерфейс, SAM и так работает
Да, но SAM работает не везде. Тот же Lifecycle#addObserver.
источник