LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

лямбда удобна для

context.call(() -> {...})

dbConnection.call(() -> {...})

и прочей мутотни с ресурсами, есть конечно `try with resources` - но он требует чтобы его не забыли и никто это не проверит, да и там надо полноценный объект реализующий closeable возвращать

а так например у меня есть объект прикрытый блокировками, чтобы не публиковать блокировку - я делаю

object.modify((builder) -> {builder.setProperty(val)})

внутри modify проверяю корректность и меняю объект, да еще после блокировки можно событие кинуть - и никаких шансов что-то забыть. Ну да в лямбде нельзя делать «долгие операции», ну так с блокировками всегда так

зы. чуть не забыл, еще паттерн visitor, выше в forEach - был каноничный пример со ссылками что он стоит гораздо дешевле модных итераторов

Исходная версия Deleted, :

лямбда удобна для

context.call(() -> {...})

dbConnection.call(() -> {...})

и прочей мутотни с ресурсами, есть конечно `try with resources` - но он требует чтобы его не забыли и никто это не проверит, да и там надо полноценный объект реализующий closeable возвращать

а так например у меня есть объект прикрытый блокировками, чтобы не публиковать блокировку - я делаю

object.modify((builder) -> {builder.setProperty(val)})

внутри modify проверяю корректность и меняю объект, да еще после блокировки можно событие кинуть - и никаких шансов что-то забыть. Ну да в лямбде нельзя делать «долгие операции», ну так с блокировками всегда так